NAS Synchronisation Plugin

  • Hi !


    Nachdem Ihr das script so brav getestet habt gibt es jetzt alles was im script funktioniert erstmals in ein Plugin eingewickelt.


    Viel Spass beim Testen !


    Zuerst aber noch schnell die Frage beantworten wozu es gut ist - na ja um Filme von /media/hdd/movie auf ein Network Attached Storage, eine PC Share, oder einen NFS Mount, etc. auszulagern und trotzdem wie lokal benutzen zu können - ein NAS Synchronisationstool halt.


    Zum Installieren einfach die beiden ipk files runterladen und per FTP auf /tmp kopieren.


    Und dann im telnet:


    cd /
    ipkg install /tmp/*.ipk


    Oder im BP Manual install (dannaber den cronmanager zuerst, weil nassync davon anhängt das er schon installiert ist)


    Für das benutzen des Plugins müsst dann noch das directory angeben wo Euer NAS Device zusätzlich zur Harddisk gemountet ist - Default ist /media/nas, auch /automount/nas ist als Beispiel auskommentiert am Anfang des nassync.sh Files drinnen, dieses liegt jetzt auf /usr/lib/enigma2/python/Plugins/Extensions/NASsync und muss evt. entsprechend enditiert werden, ein kleiner link von Eurem echten NAS mountpunkt sollte aber auch reichen:


    ln -sfn /automount/nas /media/nas


    Das Plugin mountet derzeit hardcoded wenn /media/nas beim starten gefunden wird dieses automatisch auf /media/hdd/movie womit eh alle Aufnahmen dann dort hingehen sollten. Ist dies nicht gewünscht einfach keinen /media/nas link anlegen, dann geht der mount ins leere, bzw. kann man im Plugin /media/nas auch von hand mounten und unmounten bzw. überprüfen ob gemountet ist oder nicht.


    Das ist aber noch nicht wirklich ausgereift, Ihr müsst eigentlich sagen wie das sein sollte um Eure NAS mounts richtig zu verwalten und ggf zu synchronisieren.


    Legt man aber keinen /media/nas link an und editiert statt dessen das nassync.sh das NAS=/automount/nas ist dann arbeitet es echt als synchronisation und kann zwischen dem movie und nas directory files kopieren und ggf. verlinken.


    Also alternativ daher einfach mit einem Unix konforment Editor anpassen (NAS=/media/nas zu NAS=/automount/nas oder ähnliches) und mit nassync.sh lsnas testen ob die Aufnahmen die Ihr schon dort habt gelistet werden (nassync.sh beklagt sich eh wenn das directory nicht existiert und zur NOT kann man in telnet das directory immer auch als 2. Parameter dem script übergeben: also z.B. nassync.sh backup /media/meindirectory.


    Und wen Ihr erstmals nur mit ein paar Filmen in einem subdirectory von movie testen wollt, auch dafür ist am Anfang ein Parameter in script, und man kann zur Not dieses directory als 3. Parameter übergeben).


    Im Prinzip kann das nassync.sh script das vom Plugin aufgerufen wird folgendes:


    nassync.sh version


    Zeigt nur die aktuelle Script Version


    nassync.sh ls


    Listen der Files im Movie (/media/hdd/movie) und im NAS (/media/nas oder das was Ihr halt eintragt) Verzeichnis.


    nassync.sh lsmovie


    Listen nur der Files im Movie directory


    nassync.sh lsnas


    Listen nur der Files im NAS directory


    nassync.sh backup


    oder:


    nassync.sh movie2nas


    Kopieren/backup aller Files vom Movie Directory ins NAS Directory


    nassync.sh restore


    oder:


    nassync.sh nas2movie


    Kopieren/restore aller Files vom NAS Directory ins Movie Directory


    Bis dahin ist das script bei mir schon länger im Einsatz und da nichts gelöscht wird auch halbwegs sicher in der Anwendung, da es ja nur alle Files auf den PC, NAS, etc auslagert - und es ist so clever das Files die shcon da sind ignoriert werdn, sprich es läuft nur beim ersten Mal Stundenlang !


    Damit kann man wenn man nassync.sh als Cronjon einplant schon ganz nett seine File auf einen PC Share oder eben ein NAS sichern.


    backup/restore sind so weit ich testen konnte abbruchsicher, sprich wenn das File nicht in voller Größe kopiert wurde wird es beim nächsten nassync lauf einfach nochmals kopiert !


    nassync.sh rmmovie


    Löschen aller Files im Movie Directory, aber NUR dann wenn noch eine Kopie mit der selben Größe auf dem NAS Directory existiert !


    Hier wird es schon spannender - Ich hab das getestet soweit es ging (und meine Filme sind alle noch da), aber man weis ja nie, also bitte entweder ein testdirectory mit weniger filemen machen, oder vorher per FTP auch nochmals wonanders hin sichern !


    nassync.sh rmnas


    Löschen aller Files im NAS Directory, aber NUR dann wenn noch eine Kopie mit der selben Größe auf dem Movie Directory existiert !


    nassync.sh sync


    DAS ist eigentlich das Feature wo ich lange zu faul war es auch einzubauen weil mir backup/restore gereicht hat. Im Prinzip wird dabei das gesamte Movie directory auf das NAS directory kopiert, und anschließend im Movie directory die ts files gelöscht und durch einen link auf das NAS Storage ersetzt.


    Die *.meta, *.ap und *.cuts Dateien bleiben dabei im Movie director (weil eh klein), nur die *.ts werden sozusagen auf das NAS Storage ausgelagert. Dieses ist dann eben nicht auf /media/hdd gemountet, und trotzdem sieht es aus wie gewohnt man kann mit der Video Taste sich die Filmliste holen und auch abspielen, nur wird dann halt das file auf dem NAS verwendet.


    movistatus


    zeigt den status wo ein Film ist - auf MOVIE oder NAS oder MOVIE link auf -> NAS


    fullstatus


    wie moviestatus aber auch für die .cuts .meta .eit dateien


    Im Prinzip so ähnlich wie das gute alte tslink.sh halt, nur flexibler, und mit den bereits genannten Zusatzfunktionalitäten, das *.ts files erst gelöscht und verlinked werden wenn sie Komplett (!) in selber Größe im NAS Directory sind.


    Damit ist das script wie bei backup/restore wiederaufsetzfähig, und natürlich *.ts files die schon ausgelagert/synchronisiert sind werden nicht mehr kopiert.


    sync geht auch in beide Richtungen, also wenn sowieso alle files auf dem NAS Directory sind und man sich wegen Timeshift, etc entschieden hat eine kleine Harddisk oder eine CF Karte auf /media/hdd zu mounten, dann werden auch alle kleinen datenein in deren Movie Directory zurückkopiert und die *.ts files verlinked !


    Ihr müsst Euch auch klar sein das nassync.sh backup/restore/sync beim ersten mal natürlich entsprechend lang dauert (weil Gigabites an Filmen übers Netzwerk geschaufelt werden), man sollte es daher von Hand in einer Telnet session ausführen die entsprechend lange bestehen kann (und wenn man unruhig wird in einer 2. telnet session schauen ob die Files am Ziledirectory noch wachsen, bzw, mit ps und top ob das script noch fleissig ist)


    Nach dem ersten Lauf kann man das script aber z.B. mit den Cronmanager jede Nacht laufen lassen und es werden dann nur mehr die neuen Aufnahmen kopiert bzw. auf das NAS Storage ausgelagert !


    Im Prinzip macht das Plugin das selbe wie das script nur die lang laufenden backup/restore/sync werden jetzt mit cronmanager eingeplant netweder sofort oder zur gewählten stunde)


    So und jetzt erstmals viel Spass beim Testen !


    Und ich habe es halt erstmals so implementiert wie ich es verwende, bzw. verwenden würde (habe ja kein NAS, sondern nur PC Share zum backup im Einsatz), wenn Ihr Sachen anders haben wollt oder Bugs findet bitte posten.


    Und nochmals, ich habe so gut es ging Überprüfungen eingebaut das nichts gelöscht wird wenn es noch nicht kopiert ist, aber Fehler können passieren, also seit Euch klar das dies eine Version 1.0 ist und Ihr mir nicht die Schuld gegeb könnt wenn Eure Filme weg sind, oder *.meta verloren geht, etc. Sollte aber natürlich nicht der Fall sein, weil gutemine2 schreibt ja perfekte Software :)


    Was geht im Moment noch nicht - subdiretories von /media/hdd/movie sollte Ihr nicht haben (also MP3, Bilder, etc. Directories ggf. in /media/hdd moven). Und wo keine meta datei exisitert kann nassync.sh natürlich auch keine herzaubern - da müsst Ihr weiterhin Hand anlegen oder das metagen.sh aus einem anderen Thread verwenden. Timeshift dateien (sofern nicht auf /media/hdd/movie als Aufnahmen gesichert) werden natürlich auch nicht gesichert/synchronisiert,... Und ein Monitor script so wie beim Multiboot oder Barry Allen während dem kopieren grosser Files fehlt auch noch, und ein check das laufende Aufnahmen nicht unnötig kopiert werden,...


    LG
    gutemine2

  • für was ist NAS und was ist besonders drann??

    Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Ryu's Frau : Heute, 11:25.

    IF YOU LIKE MY WORK, PLEASE BUY ME A CURRYWURST MIT POMMES UND KETCHUP!!

  • Zitat

    Original von Ryu
    für was ist NAS und was ist besonders drann??


    Network Attached Storage, also eine eigene Disk die im Netz hängt, oder ein PC Share der von der Dreambox gemountet ist, anderes Directory in der selben Dream, oder 2. Harddisk geht aber zu Not auch.


    Aber jetzt wartet bitte mal bis ich den Thread fertig geschrieben habe :)

    Einmal editiert, zuletzt von gutemine ()

  • So, Das ZIP mit dem script ist jetzt gepostet, viel Spass beim testen, und beklagt Euch bei Thor1967 das es noch kein Menu Interface gibt.


    Na ja mit Menu Fantastic für enigma2 oder dem Flexmenu für enigma1 wäre es in 5min fertig. wenn wer Lust hat kann er es ja machen.


    Und das cronmanager Plugin ist natürlich auch ganz nützlich um das script regelmässig im Hintergrund einzuplanen, weil interaktiv macht es nicht spass Ihm (anfangs stundenlang) beim kopieren zuzusehen nur zum Testen macht das im Moment schon Sinn :frowning_face:


    Aber wenn es gut funktioniert schreib ich Euch schon noch den enigma2 Teil auch, aber wie üblich gibt es auch andere sachen die ich gerne machen würde, und in der Zischenzeit findet erst mal raus ob es funktioniert und nützlich ist wenn man ein NAS Storage hat oder eben die Filme auf den PC auslagern will.


    LG
    gutemine2

    4 Mal editiert, zuletzt von gutemine ()

  • OK, ein paar kleine Inputs habe ich schon gekriegt.


    Also in Version 1.1 wird dann bei ls/lsnas/lsmovie auch die Größe in Blocks anzeigen (weil die wird beim Vergleichen der Files sowieso verwendet).


    Und Version 1.1 soll auch *.mpg files verlinken können.


    Und den Filemonitor beim kopieren, aber das hatte ich mir eh schon gedacht :)


    Kommt dann voraussichtlich morgen abends wenn Ihr sonst keine Wünsche/Probleme habt.


    LG
    gutemine2

  • Zitat

    Original von gutemine2
    ...
    Und Version 1.1 soll auch *.mpg files verlinken können.
    ...


    das währe echt genial :dasnemma:

  • ach so ein mist ich habe mir heute mittag meinen E-PC platt gemacht und muss ihn erstmal wierde gangbar machen :O :O :O :O


    sobalt der wieder funktioniert werde ich das NAS Sync Script installieren


    PS GuteMine wie ich dir ja gesagt habe mir ist langweilig


    gruß


    Thor


  • Tja dann ist Dir ja jetzt nicht mehr langweilig. Und ich brauch halt manchmal auch 'Motivation', also ist das schon OK


    Du kannst das script aber auch mit jedem PC Share testen, bzw. erstmal auch nur ein zweites directory auf der Harddisk machen (wenn sie nur halbvoll ist)


    Im Prinzip bräuchte ich halt Inputs von NAS Usern wie sie es verwenden und ob es auch zufriedenstellend funktioniert die neuen Aufnamhem immer wieder auszulagern.


    Weil nur dann kann ich es auch sinnvoll weiterentwickeln, weil für mich tut es schon seit längerem was ich brauche, nur hilft das den echten NAS Verwendern nicht wirklich weiter.


    Und für die Leute die Ihre mpeg Sammlung auf dem PC/NAS haben ich halt eine 1.1 Version gemacht die *.mpg und *.mpeg verlinken sollte - hab ich aber nicht getestet.


    Also mpeg auf das NAS directory kopieren und nassync.sh sync laufen lassen und schauen ob sie ins movie directory verlinked werden so das man sie von dort abspielen kann.


    LG
    gutemine2

    7 Mal editiert, zuletzt von gutemine ()

  • Das ist ja ne gute Idee mit dem NAS Sync Script.


    Bisher habe ich die *.ts Dateien immer erst per FTP auf meinen Laptop und von da dann aufs NAS kopiert. Ist natürlich viel zu umständlich.
    Kann ich mit dem NAS Sync Script jetzt auch einzelne Aufnahmen direkt aufs NAS kopieren?


    [quote]
    Zum Installieren einfach plugin.py auf dem ZIP File auspacken und per FTP auf /media/hdd kopieren.
    [\quote]
    Welches plugin.py?


    Gruß


  • Das nassync.sh ist cleverer, das erkennt welche noch nicht drüben sind und kopiert nur diese - und natürlich ist es das nassync.sh aus dem ZIP das du auf /media/hdd kopieren sollst, habs schon angepasst.


    Und ich habs damals ja auch gemacht weil mir das ewige neue Movies suchen und dann per FTP sichern auf den Wecker gegangen ist.


    LG
    gutemine2

    Einmal editiert, zuletzt von gutemine ()

  • Zitat

    Originally posted by gutemine2
    Das nassync.sh ist cleverer, das erkennt welche noch nicht drüben sind und kopiert nur diese ...


    Verstehe.
    Ich möchte aber nur die besten Filme auf dem NAS archivieren und behandle den Plattenspeicher
    der DM7025 nur als Zwischenspeicher bis ich dazukomme mir ne Aufzeichnung anzusehen.
    I.d.R. landet nur ein Film von zehn auf dem NAS. Die neun anderen lösche ich wieder nach dem Ansehen.
    Die Netzwerkplatte würde sich sonst zu schnell füllen.


    Deshalb fände ich es praktisch wenn man alle Filme in /media/hdd
    (vielleicht mit Nummerierung) listen könnte. Dann könnte man vielleicht
    Nummer x nach /automount/nas verschieben.
    Ergibt das einen Sinn für Dich/Euch?


    Grüsse
    moofy

  • Was du möchtest plane ich eigentlich erst für das eigentliche Enigma2 Plugin, nämlich einfach eine Auswahlliste alle Filme (oder aller lokalen Filme) als menu und man kann die dann dort einzeln auswählen um sie 'auszulagern'. Weil irgend wie muss man auch auf dem NAS löschen und renamen können.


    Im Moment ist es interessanter für die Leute die keine oder nur ein ganz kleine harddisk in der Box wollen, oder Leute die eben NAS oder PC share nicht auf /media/hdd gemountet haben wollen/können.


    Du darfst ja auch nicht vergessen das die Links auch als so eine Art Löschschutz funktionieren - wenn du einen ausgelagerten Film in der mit der Video Liste angezeigten Liste löscht dann wird ja nur der Link entfernt, der eigentliche Film und die Kopie aller metadateinen, etc bleibt auf dem NAS Storage als Backup erhalten. Auch das ist ein netter Zusatznutzen wenn man das Movie directory entsprechend synchronisiert.


    Was auch denkbar wäre und eigentlich eine gute idee ist wäre Filme erst nach einer fixen zeitspanne auszulagern, also snyc greift erst wenn der Film schon länger als 1 Woche/Monat, etc auf der harddisk ist. Das was man so täglich aufnimmt und dann wieder löscht würde dann nicht mitsynchronisiert, nur die Sachen die für gut befunden sind und bleiben dürfen (und eben nicht nach dem Anschauen gelöscht werden) würden dann aus das NAS geschoben.


    Im Prinzip funktionieren so auch echte Archivsysteme, sprich die Files die oft gebraucht werden bleiben auf der (kleinen) Festplatte, nur Sachen die lange nicht gebraucht werden werden auf Jukbox/Bänder/CDs, etc ausgelagert.


    LG
    gutemine2

    2 Mal editiert, zuletzt von gutemine ()

  • Bei mir hat das wunderbar geklappt.
    Kein Film ist verlorengegangen.


    In Verbindung mit dieser Erweiterung bin ich schon fast wunschlos glücklich.

  • Zitat

    Original von Oldboke
    Bei mir hat das wunderbar geklappt.
    Kein Film ist verlorengegangen.


    In Verbindung mit dieser Erweiterung bin ich schon fast wunschlos glücklich.


    Schön wenn es funktioniert hat, inderessant ist es natürlich erst wenn du jetzt jede nacht ein nassync machst um immer wieder auszulagern.


    Hast du übrigens backup/movie2nas oder sync als Argument verwendet - weil beim sync geht es eigentlich auch ohne die Erweiterung, weil ja die ts files zwar wegkopiert werden, aber wieder schön ins movie directory zurückgelinkt.


    Theoretisch könnte ich auch ein movie2nasrm machen, wo die Files dann kopiert werden und nachher gleich gelöscht, aber durch ein movie2nas und dann ein rmmovie kannst du das selbe erreichen.


    Und ja im Prinzip kann man das nassync auch verwenden um movies in subdirectories der Harddisk zu moven (musst nur das directory mit vollem Pfad als 2. Argument übergeben), wobei du in dem Fall mit dem Platz aufpassen musst, weil da ich aus sicherheitsgründen nur copy verwende und kein move du den Platz temporär 2x haben musst. Erst das remove schaut dann ob die Kopie selbe größe hat und dann wird gelöscht.


    LG
    gutemine2

  • Ich hatte alle Optionen mal getestet.
    Auch das sync und rmmovie.


    Ohne die Erweiterung bekomme ich die mpegs auf dem NAS nicht zu sehen.


    Die Filme und mpegs liegen auf meinem Allnet jetzt direkt im Ordner "Share",
    den ich auch für meinen Siemens M740AV freigegeben habe, denn der kann mpegs vernünftig abspielen u. spulen und nach Pausieren weiterspielen...

  • was ist den die Fileendung deiner mpeg's - in der version 1.1 vom script sollte *.mpg und *.mpeg sehr wohl verlinked werden (habe es aber eben nicht getestet)


    Kannst du mir evt den output per PM schicken von:


    ls -alh /media/nas/*.m* (oder deinem Share directory) sprich ein volles listing der files die verlinked werden müssten, dann bring ich das schon auch zum laufen.


    LG
    gutemine2

    Einmal editiert, zuletzt von gutemine ()

  • Zitat

    Originally posted by gutemine2
    Was du möchtest plane ich eigentlich erst für das eigentliche Enigma2 Plugin, nämlich einfach eine Auswahlliste alle Filme (oder aller lokalen Filme) als menu und man kann die dann dort einzeln auswählen um sie 'auszulagern'. Weil irgend wie muss man auch auf dem NAS löschen und renamen können.


    Super! Dann freu ich mich schon mal auf das Enigma2 Plugin. :winking_face:
    Das vereinfacht das kopieren schon erheblich. Danke im voraus!


    Zitat

    Originally posted by gutemine2
    Im Moment ist es interessanter für die Leute die keine oder nur ein ganz kleine harddisk in der Box wollen, oder Leute die eben NAS oder PC share nicht auf /media/hdd gemountet haben wollen/können.


    Ja, verstehe.


    Zitat

    Originally posted by gutemine2
    Du darfst ja auch nicht vergessen das die Links auch als so eine Art Löschschutz funktionieren - wenn du einen ausgelagerten Film in der mit der Video Liste angezeigten Liste löscht dann wird ja nur der Link entfernt, der eigentliche Film und die Kopie aller metadateinen, etc bleibt auf dem NAS Storage als Backup erhalten. Auch das ist ein netter Zusatznutzen wenn man das Movie directory entsprechend synchronisiert.


    Stimmt


    Zitat

    Originally posted by gutemine2
    Was auch denkbar wäre und eigentlich eine gute idee ist wäre Filme erst nach einer fixen zeitspanne auszulagern, also snyc greift erst wenn der Film schon länger als 1 Woche/Monat, etc auf der harddisk ist. Das was man so täglich aufnimmt und dann wieder löscht würde dann nicht mitsynchronisiert, nur die Sachen die für gut befunden sind und bleiben dürfen (und eben nicht nach dem Anschauen gelöscht werden) würden dann aus das NAS geschoben.


    Im Prinzip funktionieren so auch echte Archivsysteme, sprich die Files die oft gebraucht werden bleiben auf der (kleinen) Festplatte, nur Sachen die lange nicht gebraucht werden werden auf Jukbox/Bänder/CDs, etc ausgelagert.


    Ja, ein automatisches Archivieren z.B. nach 1 Woche fänd ich sehr praktisch.


    Grüsse
    moofy

  • Zitat

    Original von Oldboke
    Die files sind *.mpg und *.mpeg.


    Komisch weil das hatte ich schon eingebaut (aber nicht wirklich getestet) ich probierst halt mal und dann gibts hoffentlich V1.2


    EDIT:


    Ich glaube ich habe den Fehler gefunden, pobier mal die neu open gepostete Version 1.2 des scripts (wenn du schon in sync bist sollte es nur mehr die mpeg/mpg verlinken)


    Danke fürs Testen !


    LG
    gutemine2

    5 Mal editiert, zuletzt von gutemine ()