rsync, Subverzeichnisse excludieren

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
worker777
Beiträge: 103
Registriert: 14.04.2015 07:59:26

rsync, Subverzeichnisse excludieren

Beitrag von worker777 » 23.10.2021 20:10:49

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

schwedenmann
Beiträge: 5525
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: rsync, Subverzeichnisse excludieren

Beitrag von schwedenmann » 23.10.2021 20:26:08

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

worker777
Beiträge: 103
Registriert: 14.04.2015 07:59:26

Re: rsync, Subverzeichnisse excludieren

Beitrag von worker777 » 24.10.2021 10:15:08

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

schwedenmann
Beiträge: 5525
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: rsync, Subverzeichnisse excludieren

Beitrag von schwedenmann » 24.10.2021 10:44:56

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 :mrgreen:

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

worker777
Beiträge: 103
Registriert: 14.04.2015 07:59:26

Re: rsync, Subverzeichnisse excludieren

Beitrag von worker777 » 24.10.2021 10:59:11

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
24.10.2021 10:44:56
Ich würde dir raten den Schalten dry-run zum Testen zu benutzen :mrgreen:
DAS ist eine sehr gute Empfehlung (kannte ich noch nicht) - danke! :THX:
schwedenmann hat geschrieben: ↑ zum Beitrag ↑
24.10.2021 10:44:56
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.
Genau darum wollte ich meinen RasPi nicht mehr stressen (der liest dieses eine Verzeichnis sicherlich 10 Minuten lang ein 8O ) und hab meine Frage hier ins Forum gestellt :wink:

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 :? ... das ist konfus(!)...

worker777
Beiträge: 103
Registriert: 14.04.2015 07:59:26

Re: rsync, Subverzeichnisse excludieren

Beitrag von worker777 » 24.10.2021 11:52:15

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.

Antworten