- Mitglied seit
- 14. Nov 2014
- Beiträge
- 81
- Punkte für Reaktionen
- 0
- Punkte
- 6
Hallo liebe Foren-Gemeinde.
Mir schwebt in den vergangenen Tagen ein etwas merkwürdiges Projekt vor Augen - das lässt sich vermutlich schon an dem wenig-sagenden Titel dieses Threads erkennen .
Am einfachsten lässt es sich anhand der konkreten Aufgabe beschreiben:
Ich bin fotografisch tätig und verwende meine DS auch als Datenspeicher für meine Fotos. Diese werden dabei (innerhalb des Foto-Ordners) mit folgender Ordnerstruktur abgelegt:
Innerhalb des Ordners "Projekt" gibt dann nochmal (je nach Bedarf) die folgenden Unterordner:
In den Ordner "Output" kommen - wie der Name schon sagt - alle fertig bearbeiteten (JPG-)Fotos. Mein Ziel ist es, den Inhalt des Output-Ordners mit dem Ordner /volume1/photo/, also dem Photo-Station-Ordner, zu synchronisieren, aber rekursiv, d.h. nicht die Fotos aller Projekte einfach in einen Ordner, sondern schön nach Projekt getrennt.
Das allein wäre ja noch ziemlich einfach zu bewerkstelligen: ich würde einfach ein rsync-script als Aufgabe im DSM einrichten, das jeden Tag automatisch ausführen lassen, und die Sache wäre erledigt - dachte ich! Aber nix da:
(Ich würde das Skript einfach zum Jahreswechsel erneuern, damit ich mich nicht auch noch um den Unterordner mit dem Jahr kümmern muss)
Das kommt dem am nächsten, stimmt aber auch nicht ganz, da hierdurch trotzdem noch die jeweiligen "Capture" und "Master" Verzeichnisse am Zielort angelegt werden, wenn auch ihr Inhalt nicht kopiert wird. Klar könnte ich "Capture" und "Master" auch noch explizit mit --exclude ausschließen, aber hin und wieder kommt es vor, dass es noch einen weiteren Ordner neben Capture, Master und Output gibt (z.B. "Videos", "Behind the Scenes" o.ä.) - diese sollen automatisch auch ausgeschlossen sein, ohne dass ich mir jedes Mal Sorgen machen muss, ob mein Skript noch stimmt, wenn ich einen neuen Ordner anlege.
Kann mir hier schon mal jemand weiterhelfen? Diese include-exclude-Struktur von rsync ist echt ganz schön schwierig zu verstehen für den Anfang, finde ich...
Es kommt aber noch verschärfter. In meiner Vorstellung sollen die Dateien des Output-Ordners nicht in im Ordner "Output" landen, sondern im Projekt-Ordner selber. D.h. die Dateien aus dem Ordner Foto-Ordner/Jahr/Projekt/Output/ sollen in den Ornder /volume1/photo/Projekt/. Hierzu nochmal ein Beispiel, wie Quellordner und Zielordner aussehen sollen:
Quellordner:
Zielordner:
Mit rsync alleine wird das vermutlich nicht zu bewerkstelligen sein.
Ich wäre euch auf jeden Fall wahnsinnig verbunden, wenn ihr mir an dieser Stelle irgendwie weiterhelfen könntet. Dieses Skript wäre für mich sehr wichtig, da aufgrund der schieren Menge an Projekten und dadurch, dass ein Projekt nicht immer auf einmal abgeschlossen wird, sondern teilweise auch noch Wochen später neue JPGs zum Output-Ordner hinzugefügt werden, ein manuelles Verschieben der Dateien sehr unpraktisch bzw. quasi unmöglich ist. Ein Skript hierfür würde mir die Arbeit unglaublich erleichtern und auf Dauer sehr viel Zeit und Nerven sparen!
Vielen vielen Dank schon für alle, die etwas dazu beitragen
Mir schwebt in den vergangenen Tagen ein etwas merkwürdiges Projekt vor Augen - das lässt sich vermutlich schon an dem wenig-sagenden Titel dieses Threads erkennen .
Am einfachsten lässt es sich anhand der konkreten Aufgabe beschreiben:
Ich bin fotografisch tätig und verwende meine DS auch als Datenspeicher für meine Fotos. Diese werden dabei (innerhalb des Foto-Ordners) mit folgender Ordnerstruktur abgelegt:
Rich (BBCode):
Foto-Ordner/Jahr/Projekt/
Innerhalb des Ordners "Projekt" gibt dann nochmal (je nach Bedarf) die folgenden Unterordner:
- Capture
- Master
- Output
In den Ordner "Output" kommen - wie der Name schon sagt - alle fertig bearbeiteten (JPG-)Fotos. Mein Ziel ist es, den Inhalt des Output-Ordners mit dem Ordner /volume1/photo/, also dem Photo-Station-Ordner, zu synchronisieren, aber rekursiv, d.h. nicht die Fotos aller Projekte einfach in einen Ordner, sondern schön nach Projekt getrennt.
Das allein wäre ja noch ziemlich einfach zu bewerkstelligen: ich würde einfach ein rsync-script als Aufgabe im DSM einrichten, das jeden Tag automatisch ausführen lassen, und die Sache wäre erledigt - dachte ich! Aber nix da:
Rich (BBCode):
rsync --dry-run --include='Output/**' --include='*/' --exclude='*' -avuzl /volume1/Foto-Ordner/2015/ /volume1/photo/
(Ich würde das Skript einfach zum Jahreswechsel erneuern, damit ich mich nicht auch noch um den Unterordner mit dem Jahr kümmern muss)
Das kommt dem am nächsten, stimmt aber auch nicht ganz, da hierdurch trotzdem noch die jeweiligen "Capture" und "Master" Verzeichnisse am Zielort angelegt werden, wenn auch ihr Inhalt nicht kopiert wird. Klar könnte ich "Capture" und "Master" auch noch explizit mit --exclude ausschließen, aber hin und wieder kommt es vor, dass es noch einen weiteren Ordner neben Capture, Master und Output gibt (z.B. "Videos", "Behind the Scenes" o.ä.) - diese sollen automatisch auch ausgeschlossen sein, ohne dass ich mir jedes Mal Sorgen machen muss, ob mein Skript noch stimmt, wenn ich einen neuen Ordner anlege.
Kann mir hier schon mal jemand weiterhelfen? Diese include-exclude-Struktur von rsync ist echt ganz schön schwierig zu verstehen für den Anfang, finde ich...
Es kommt aber noch verschärfter. In meiner Vorstellung sollen die Dateien des Output-Ordners nicht in im Ordner "Output" landen, sondern im Projekt-Ordner selber. D.h. die Dateien aus dem Ordner Foto-Ordner/Jahr/Projekt/Output/ sollen in den Ornder /volume1/photo/Projekt/. Hierzu nochmal ein Beispiel, wie Quellordner und Zielordner aussehen sollen:
Quellordner:
Rich (BBCode):
/volume1/Foto-Ordner/Jahr/Projekt/Output/
DateiA.jpg
DateiB.jpg
DateiC.jpg
Zielordner:
Rich (BBCode):
/volume1/photo/Projekt/
DateiA.jpg
DateiB.jpg
DateiC.jpg
Mit rsync alleine wird das vermutlich nicht zu bewerkstelligen sein.
Ich wäre euch auf jeden Fall wahnsinnig verbunden, wenn ihr mir an dieser Stelle irgendwie weiterhelfen könntet. Dieses Skript wäre für mich sehr wichtig, da aufgrund der schieren Menge an Projekten und dadurch, dass ein Projekt nicht immer auf einmal abgeschlossen wird, sondern teilweise auch noch Wochen später neue JPGs zum Output-Ordner hinzugefügt werden, ein manuelles Verschieben der Dateien sehr unpraktisch bzw. quasi unmöglich ist. Ein Skript hierfür würde mir die Arbeit unglaublich erleichtern und auf Dauer sehr viel Zeit und Nerven sparen!
Vielen vielen Dank schon für alle, die etwas dazu beitragen