Ordner mit rsync synchronisieren und als Skript mit Aufgabenplaner ausführen

Status
Für weitere Antworten geschlossen.

andi12g

Benutzer
Mitglied seit
21. Feb 2014
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,
ich habe ein kleines Problem mit rsync.
Ich möchte zwei Ordner auf der Diskstation synchronisieren. Dazu verwende ich rsync. Wenn ich mein Code per Putty/SSH eingeben funktioniert alles wunderbar. Doch leider, wenn ich den Code als .sh Datei abspeichere und mit dem Aufgabenplaner (als root) ausführe, dann erzeugt mir rsync einen Ordner der genauso heißt wie der Zielordner, welcher synchronisiert werden soll.

Hier ist der Code (Soll in beide Richtungen synchronisiert werden, und von einer Richtung (??)löschbar sein )
rsync --progress -ahuv -e ssh --filter='exclude @eaDir' /volume1/homes/Andi/photo /volume1/homes/Andi/CloudStation/Bilder
rsync --progress -ahuv -e ssh --filter='exclude @eaDir' /volume1/homes/Andi/CloudStation/Bilder/photo/ /volume1/homes/Andi/photo/
rsync --progress --delete -e ssh -ahuv --filter='exclude @eaDir' /volume1/homes/Andi/CloudStation/Bilder/photo/ /volume1/homes/Andi/photo/

Das heißt, dass nach dem Sync im Ordner "Cloudstation" es zwei Ordner "Bilder" gibt. Wenn ich per Windows Explorer (denke SMB) mich daraub verbinde, sehe ich, dass der neue Ordern Bilder mit einem Sternchen gekennzeichnet ist (also Bilder*).
Ich habe schon mit den Attributen und den Pfaden rumgespielt. Leider bisher ohne Erfolg.

Hier sind meine Daten:
DS1815+
DSM 5.1-5022


Ich hoffe mir kann da jemand helfen.
Danke schon mal.
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
Ich würde die Pfade mit "/" abschließen, bei den Optionen noch ein "r" einbauen (rekursiv) und das "-e ssh" rausnehmen, und Zeile zwei und drei würde ich anders gestalten... Folgendes sollte meiner Meinung nach funktionieren
Rich (BBCode):
rsync --progress -ahvr --filter='exclude @eaDir' /volume1/homes/Andi/photo/ /volume1/homes/Andi/CloudStation/Bilder/
rsync --progress -ahvr --filter='exclude @eaDir' /volume1/homes/Andi/CloudStation/Bilder/ /volume1/homes/Andi/photo/
rsync --progress --delete -ahvr --filter='exclude @eaDir' /volume1/homes/Andi/CloudStation/Bilder/ /volume1/homes/Andi/photo/
Übrigens kannst du das Skript im Aufgabenplaner als andi laufen lassen, damit die Dateien dir und nicht root gehören... ;)

Mal eine andere Frage: Warum nimmst du nicht den Gemeinsamen Ordner photo als CS Ordner? Dann könntest du dir den rsync ersparen... (ich verstehe durchaus, was du mit dem Skript bezwecken willst..) oder liegen in dem photo-Ordner auch Bilder, die auch "anderen gehören?

Stefan
 

andi12g

Benutzer
Mitglied seit
21. Feb 2014
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Vielen Dank schon mal.
Das mit den "/" hatte ich schon versucht, das mit "r" und "-e ssh" weglassen auch schon. Wie gesagt mit Attributen und Pfaden habe ich schon einiges durchgetestet. Hat leider nichts geändert.

Habe deinen Code benutzt, aber an einem Ende das "/" weggelassen, da rsync sonst immer einen Ordner ohne Namen im Zielordner erstellt hat und in diesen dann erst die eigentlichen Ordner synchronisiert hat.

Hier mein Code:
rsync --progress -ahvr --filter='exclude @eaDir' /volume1/homes/Andi/photo/ /volume1/homes/Andi/CloudStation/Bilder/Bilder
rsync --progress -ahvr --filter='exclude @eaDir' /volume1/homes/Andi/CloudStation/Bilder/Bilder/ /volume1/homes/Andi/photo
rsync --progress --delete -ahvr --filter='exclude @eaDir' /volume1/homes/Andi/CloudStation/Bilder/Bilder/ /volume1/homes/Andi/photo

Damit funktioniert es jetzt!

Und rsync funktioniert bei mir nur mit root.

Auch und der Zweck ist: Ich möchte mehrere private PhotoStations betreiben, welche halt dann unabhängig voneinander sind. Diese sollen dann jeweils mit CloudStation auch synchronisierbar sein. Im Gemeinsamen Ordner photo wären ja dann alle Bilder aller Benutzer drin, was bedeutet, dass CloudStation auch alle Bilder von allen Benutzern synchronisieren will. Das will ich nicht.

Ach und mount bind oder Synologys internes Datensicherungstool hatte ich auch alles schon vergebens versucht.
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
sowas mit den Photostations hatte ich schon vermutet ;)
hab jetzt gerade ein Skript mit rsync getestet.. auch als nicht-root funktioniert das einwandfrei über den Aufgabenplaner
hm... hast du schon mal getestet, einen symlink vom photo-Verzeichnis in die CS zu legen? Also der CS-Ordner bleibt wie er ist, aber wenn du ins photo-Verzeichnis gehst, landest du über einen Symlink im CS-Ordner? die PS ist ja nur ein angepaßter Web-Server, der mit symlinks umgehen kann, ggf. muss nur der php-Pfad noch erweitert werden... ist jetzt nur eine Idee, weil ich die PS nicht nutze, aber über Symlinks auch andere Verzeichnisse in den Webserver eingebunden habe ...

Stefan
 

andi12g

Benutzer
Mitglied seit
21. Feb 2014
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Das mit den Symlinks und php-Pfad anpassen habe ich auch irgendwo schon gelesen, aber habe da nicht so richtig durchgeblickt.
Hatte mit "ln -s" schon versucht die beiden Ordner zu verbinden, hat aber nicht funktioniert. Vielleicht verstehe ich ln auch einfach nicht.

Deine Lösung wäre mir schon lieber. Vielleicht kannst du mir noch ein paar Infos und/oder links geben damit ich es mit Symlinks hin bekomme. Wo muss ich denn genau da was anpassen?
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
Ein
Rich (BBCode):
ln -s /volume1/homes/andi/CloudStation/photo/ /volume1/homes/andi/photo/
sollte jetzt einen Link vom photo-Ordner in die CS legen...
Für die CS ändert sich nichts, aber wenn du z.B. ein "cd /volume1/homes/andi/photo" eingibst, solltest du in dem Verzeichnis der CS landen...

In der Systemsteuerung -> Webdienste -> php-Einstellungen kann man das open_basedir erweitern... und zwar mit
Rich (BBCode):
:/volume1/homes/andi/CloudStation/photo/
(der : gehört da hin..)

Wie gesagt, weiß ich aber nicht, ob das wirklich funktoniert...

Stefan
 

andi12g

Benutzer
Mitglied seit
21. Feb 2014
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Hallo,
ich habe deine Einstellungen getestet. Mit deinen Symlink erstellt er mir einen Symlink-Ordner namens photo in /volume1/homes/andi/photo/. Dieser wird aber dann in der Photostation nicht angezeigt. Also erkennt diese wohl die Symlinks nicht.
Danach habe ich versucht den Ordern /volume1/homes/andi/photo/ direkt zu verlinken, doch leider geht das nicht, da der Ordner wohl nicht leer ist.
Unbenannt.jpg
Auch wird mir der Symlink-Ordner in der Filestation nicht angezeigt. Mache ich da was falsch oder geht es wirklich nicht?

Gruß Andi
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
das mit den abschließenden / ist so Absicht und wenn das Verzeichnis bereits gefüllt ist, wird das evtl. verweigert...
Hast du den Pfad erweitert? der Benutzer bzw. die Gruppe http benötigt auch noch Berechtigungen fällt mir gerade ein, allerdings ist es nicht empfehlenswert an den Berechtigungen der homes was zu verändern, wenn man nicht genau weiß, was man macht..
Wie gesagt, mit der PS habe ich das noch nicht ausprobiert, nur mit dem restlichen Webserver....
In der Filestation werden die symlinks übrigens nicht angezeigt...

Stefan
 

andi12g

Benutzer
Mitglied seit
21. Feb 2014
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Hallo,
also im Homes Ordner hatte die Gruppe http Read/Write Rechte. Ich werde noch etwas herumtesten. Aber ich wäre dir auch sehr dankbar, wenn dir noch ein paar Ratschläge für mich einfallen würden.
Was meinst du mit erweitert? Ich habe den Symlink Pfad nur in einen weiteren Unterordner verlegt?!
Ach und mit der Konsole konnte ich deinen Link ganz normal benutzen, sprich cd /volume1/homes/Andi/photo/Photo. Dadurch gelang ich in den vorher definierten Ordner in CloudStation.

LG
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
ich meinte mit Erweitern, das aus #6 mit dem openbasedir...

Stefan
 

andi12g

Benutzer
Mitglied seit
21. Feb 2014
Beiträge
14
Punkte für Reaktionen
0
Punkte
1
Ja, die Erweiterung habe ich dort eingetragen.
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
hm... so fällt mir nichts mehr ein... ich teste das mal...

Stefan
 
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 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!