Guten Abend,
ich habe jetzt etliche Arten der 'rsync'hronisierung versucht, bin aber jedesmal kläglich gescheitert.
Folgendes Verzeichniss soll synchronisiert werden: /mnt/internal/data
In diesem Verzeichnis sind Subverzeichnisse '/mnt/internal/data/srv/samba/NAS/User/...'
Das Subverzeichnis (inkl. der dortigen Dateien) '/mnt/internal/data/srv/samba/NAS/User/Guest/Videos/' und seine Subverzeichnisse (z.B. '/mnt/internal/data/srv/samba/NAS/User/Guest/Videos/Thriller/' sollen alle excludiert werden.
Meine Versuchsreihe war:
1. rsync -av --delete -e "ssh -i /root/.ssh/id_rsa" --exclude='srv/samba/NAS/User/Guest/Videos' root@192.168.1.2:/mnt/internal/data/ /media/worker/dd57cdc1-f9db-4d15-b72a-3116951c3c9b/
2. rsync -av --delete -e "ssh -i /root/.ssh/id_rsa" --exclude='srv/samba/NAS/User/Guest/Videos/' root@192.168.1.2:/mnt/internal/data/ /media/worker/dd57cdc1-f9db-4d15-b72a-3116951c3c9b/
3. rsync -av --delete -e "ssh -i /root/.ssh/id_rsa" --exclude='/srv/samba/NAS/User/Guest/Videos/' root@192.168.1.2:/mnt/internal/data/ /media/worker/dd57cdc1-f9db-4d15-b72a-3116951c3c9b/
4. rsync -av --delete -e "ssh -i /root/.ssh/id_rsa" --exclude='/srv/samba/NAS/User/Guest/Videos' root@192.168.1.2:/mnt/internal/data/ /media/worker/dd57cdc1-f9db-4d15-b72a-3116951c3c9b/
Ich habe dann nicht mehr weiter herumprobiert, da es sehr lange dauert, bis das Source-Verzeichnis eingelesen wird (ist ein RasPi).
Was mache ich falsch, wo liegt der Fehler?
Grüsse
worker
rsync, Subverzeichnisse excludieren
-
- Beiträge: 5649
- Registriert: 30.12.2004 15:31:07
- Wohnort: Wegberg
Re: rsync, Subverzeichnisse excludieren
Hallo
ich habe sowas mit rsync folgendermaßen verwurstelt
--delete-excluded --exclude-from=/home/user/excluded.txt
in der excluded.txt
dann auf deine Verhältnisse übertragen nur:
srv/samba/NAS/User/Guest/Videos
reinschreben
mfg
schwedenmann
ich habe sowas mit rsync folgendermaßen verwurstelt
--delete-excluded --exclude-from=/home/user/excluded.txt
in der excluded.txt
dann auf deine Verhältnisse übertragen nur:
srv/samba/NAS/User/Guest/Videos
reinschreben
mfg
schwedenmann
Re: rsync, Subverzeichnisse excludieren
Hallo schwedenmann,
danke für Deine Antwort.
Ich habe Deinen Vorschlag noch nicht versucht, aber eine Frage hätte ich schon noch dazu, bevor ich es umsetze/ausprobiere...
Nämlich, wie kommst Du zu diesem Lösungsvorschlag?
Ich meine, eine Exclude-Datei macht man doch erst dann, wenn es viele 'Excludes' wären. Ist meine einzeilige Lösung nicht machbar, oder wie darf ich das verstehen?
(Bitte nicht falsch verstehen, ich weiss Deine Hilfestellung durchaus zu würdigen, hätte es aber gerne auf die einzeilige Lösung beschränkt.)
Ich dachte dass die Option '--exclude' sowohl für Datei(en), wie auch für Verzeichnis(se) da sei?
Leider scheint es unterschiedliche Versionen bei rsync zu geben und der Unterschied ist ziemlich stark. Z.B. ist es bei der einen Version so, dass man die 'exclude'-Option nur am Anfang verwenden darf und bei einer anderen Version muss es am Ende stehen ... und dann zwischen '--exclude' und dem eigentlichen Verzeichnis/File muss bei der einen Version ein '='-Zeichen stehen, bei der anderen Version wiederum ist kein '='-Zeichen dazwischen..... schon ziemlich irreführend, finde ich.
Grüsse
worker
danke für Deine Antwort.
Ich habe Deinen Vorschlag noch nicht versucht, aber eine Frage hätte ich schon noch dazu, bevor ich es umsetze/ausprobiere...
Nämlich, wie kommst Du zu diesem Lösungsvorschlag?
Ich meine, eine Exclude-Datei macht man doch erst dann, wenn es viele 'Excludes' wären. Ist meine einzeilige Lösung nicht machbar, oder wie darf ich das verstehen?
(Bitte nicht falsch verstehen, ich weiss Deine Hilfestellung durchaus zu würdigen, hätte es aber gerne auf die einzeilige Lösung beschränkt.)
Ich dachte dass die Option '--exclude' sowohl für Datei(en), wie auch für Verzeichnis(se) da sei?
Leider scheint es unterschiedliche Versionen bei rsync zu geben und der Unterschied ist ziemlich stark. Z.B. ist es bei der einen Version so, dass man die 'exclude'-Option nur am Anfang verwenden darf und bei einer anderen Version muss es am Ende stehen ... und dann zwischen '--exclude' und dem eigentlichen Verzeichnis/File muss bei der einen Version ein '='-Zeichen stehen, bei der anderen Version wiederum ist kein '='-Zeichen dazwischen..... schon ziemlich irreführend, finde ich.
Grüsse
worker
-
- Beiträge: 5649
- Registriert: 30.12.2004 15:31:07
- Wohnort: Wegberg
Re: rsync, Subverzeichnisse excludieren
Hallo
Die excludedatei hab eich angelegt,weil das mir mich dann überscihtlicher ist,als dort 2-4 Vereichnisse oder dateien im Script auszuschließen,außerdem vertippe ich mich relativ oft,was dann wieder länger dauert,wenn ich
a. den Fehler finden muß
b. ihn korrigieren muß
Ixh habe so 3 Untervereichnisse und eine Datei vom Backup ausgenommen.
Ich würde dir raten den Schalten dry-run zum Testen zu benutzen
Das mit dem langen einlesen,kann mit der Anzahl der Dateien und deren Größe zusammenhängen,rsync muß das gesamte Verzeichnis einlesen,was dann dementsprechend lange dauern kann.
mfg
schwedenmann
Die excludedatei hab eich angelegt,weil das mir mich dann überscihtlicher ist,als dort 2-4 Vereichnisse oder dateien im Script auszuschließen,außerdem vertippe ich mich relativ oft,was dann wieder länger dauert,wenn ich
a. den Fehler finden muß
b. ihn korrigieren muß
Ixh habe so 3 Untervereichnisse und eine Datei vom Backup ausgenommen.
Ich würde dir raten den Schalten dry-run zum Testen zu benutzen
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Das mit dem langen einlesen,kann mit der Anzahl der Dateien und deren Größe zusammenhängen,rsync muß das gesamte Verzeichnis einlesen,was dann dementsprechend lange dauern kann.
mfg
schwedenmann
Re: rsync, Subverzeichnisse excludieren
DAS ist eine sehr gute Empfehlung (kannte ich noch nicht) - danke!schwedenmann hat geschrieben:24.10.2021 10:44:56Ich würde dir raten den Schalten dry-run zum Testen zu benutzen![]()
![Thumbs Up :THX:](./images/smilies/thumbup.gif)
Genau darum wollte ich meinen RasPi nicht mehr stressen (der liest dieses eine Verzeichnis sicherlich 10 Minuten lang einschwedenmann hat geschrieben:24.10.2021 10:44:56Das mit dem langen einlesen,kann mit der Anzahl der Dateien und deren Größe zusammenhängen,rsync muß das gesamte Verzeichnis einlesen,was dann dementsprechend lange dauern kann.
![Shocked 8O](./images/smilies/icon_eek.gif)
![Wink :wink:](./images/smilies/icon_wink.gif)
Ich habe jetzt herausgefunden (durch rsync auf kurzes Verzeichnis und dessen einziges Unterverzeichnis), dass mein 2. Versuch (siehe erster Beitrag von mir) eigentlich funktionieren müsste - tut es aber nicht
![Confused :?](./images/smilies/icon_confused.gif)
Re: rsync, Subverzeichnisse excludieren
Also dieses eine Verzeichnis ('srv/samba/NAS/User/Guest/Videos/') zu excludieren funktioniert ums Verrecken nicht :-/ ...
rsync scheint das Exclude einfach zu ignorieren. Könnte es sein, dass es eventuell etwas mit 'mount-bind' zu tun haben könnte?
Also, falls das zu excludierende Verzeichnis 'Videos' (oder Verzeichnisse davor) mit mount-bind eingebunden wäre(n), kann es dadurch zu solchen "Konfusitäten" kommen?
Das Verzeichnis '/srv' ist nämlich (über mount-bind) auf das Verzeichnis '/mnt/internal/data/srv/' gebunden und das Verzeichnis '/mnt/internal/data' wiederum ist auf '/dev/sda2' gebunden.
rsync scheint das Exclude einfach zu ignorieren. Könnte es sein, dass es eventuell etwas mit 'mount-bind' zu tun haben könnte?
Also, falls das zu excludierende Verzeichnis 'Videos' (oder Verzeichnisse davor) mit mount-bind eingebunden wäre(n), kann es dadurch zu solchen "Konfusitäten" kommen?
Das Verzeichnis '/srv' ist nämlich (über mount-bind) auf das Verzeichnis '/mnt/internal/data/srv/' gebunden und das Verzeichnis '/mnt/internal/data' wiederum ist auf '/dev/sda2' gebunden.