Ordner spiegeln/synchronisieren

Status
Für weitere Antworten geschlossen.

Rykker

Benutzer
Mitglied seit
15. Apr 2013
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo, ich würde gerne wissen, ob es eine Möglichkeit gibt, zwei Ordner auf dem NAS zu spiegeln/synchronisieren.
Hintergrund ist, dass ich gerne den Ordner für das iPhone-Photobackup automatisch in meiner Cloudstation bereitstellen möchte. Auch für andere Ordner wäre das für mich sehr nützlich.
Es müsste also automatisch, bei einer Änderung, der Ordner /photos/iPhone Backup/ nach /home/iPhone Backup/ synchronisiert werden.
Geht das vielleicht mit einem Script und der Aufgabenplanung?

Vielen Dank schonmal im Voraus

Gruß Stefan
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Sicher geht das. Was willst Du denn genau erreichen? Soll das home-Verzeichnis immer das enthalten, was im photos-Verzeichnis ist? Wird in das home-Verzeichnis nichts eingespielt, was dann ins photos-Verzeichnis soll?
 

Rykker

Benutzer
Mitglied seit
15. Apr 2013
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
das home-Verzeichnis soll automatisch eine Kopie des Ordners meines iPhone-Backups (photos/iphone backup/) enthalten, sodass, wenn ich ein Foto mit dem iPhone mache, es automatisch auch in der Cloudstation liegt, damit ich einfach von einem Rechner darauf zugreifen kann. Umgekehrt, also von /home nach /photos muss nichts synchronisiert werden.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Ok, soll dann, wenn in /photos/... etwas gelöscht wird, dies auch in /home/... gelöscht werden?
 

Rykker

Benutzer
Mitglied seit
15. Apr 2013
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Das wäre natürlich noch das Sahnehäubchen :)
Das muss aber nicht zwingend sein. Es reicht wenn neue Fotos automatisch in die Cloudstation kopiert werden
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Ist ja nur eine Option. Der folgende Aufruf synchronisiert das Quell- auf das Zielverzeichnis in der beschriebenen Art und Weise.

Rich (BBCode):
/usr/syno/bin/rsync -avh --delete "/<Quelle>/" "/<Ziel>"

In Quelle und Ziel muss der komplette Pfad stehen, den man in einer Shell per pwd ermitteln kann - also z.B. "/volume1/photos/iPhone Backup/".
 

Rykker

Benutzer
Mitglied seit
15. Apr 2013
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Danke dir!

Leider bekomme in der output.log folgende Fehlermeldung: sh: /usr/syno/bin/rsync: No such file or directory
Muss in der Zeile noch irgendetwas durch meine Daten ersetzt werden?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Welche DSM-Version nutzt Du? Du solltest den richten Pfad mit

Rich (BBCode):
which rsync

ermitteln können.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Ok, mein Pfad stammt von DSM 5.2, aber mit which bekommst Du den auf den Shell 'raus. Wenn die Zeile funktioniert, solltest Du sie dann so in den Aufgabenplaner übernehmen können.
 

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
154
Punkte für Reaktionen
1
Punkte
18
Ok, mein Pfad stammt von DSM 5.2, aber mit which bekommst Du den auf den Shell 'raus. Wenn die Zeile funktioniert, solltest Du sie dann so in den Aufgabenplaner übernehmen können.

Man kann rsync doch auch global nutzen (also ohne angabe des genauen Pfads)!
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Nicht, wenn man das Kommando ohne Umgebung nutzen möchte, die die PATH-Variable enthält. Und das ist genau der Fall, wenn man ein Kommando per Aufgabenplaner einsetzen will.
 

eddie irvine

Benutzer
Mitglied seit
14. Jan 2009
Beiträge
154
Punkte für Reaktionen
1
Punkte
18
Ok, ich speichere die .sh Skripte unter /usr/local/bin und rufe diese dann aus dem Aufgabenplaner auf.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Wenn Du ein Skript aufrufst, kannst Du in dem die PATH-Variable ja selbst setzen. Rufst Du ein Kommando aber direkt auf, fehlt das Environment. Das ist der Grund, warum man Cronjobs entweder volle Pfade mitgibt oder eben für eine PATH-Variable im Skript sorgen muss.
 

Rykker

Benutzer
Mitglied seit
15. Apr 2013
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Vielen Dank dil88! Es läuft jetzt. Der korrekte Pfad unter DSM 6 ist: /usr/bin/rsync
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.881
Punkte für Reaktionen
1.168
Punkte
754
Klasse, freut mich. Und danke für die Information. Mit rsync sollte das sehr zuverlässig laufen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat