
Ich bin verwirrt wegen des Ausschlusses von rsync.
Ich versuche, alle Dateien zu sichern, die mit / beginnen, aber /media/ /mnt/ /home/files/ und /home/backup ausschließen.
sudo rsync -a \
--progress \
--stats \
--exclude-from=/home/files/ \
--exclude-from=/media/ \
--exclude-from=/mnt/ \
--exclude-from=/home/backup/ \
/ /home/backup
Wird nicht funktionieren.
Am Ende kopiere ich die Dateien nach /home/backup/home/backup/... Ich habe gelesen, dass ich meine Ausschlüsse relativ zu meinem Übertragungsstammverzeichnis schreiben muss, aber ich schätze, wenn / mein Übertragungsstammverzeichnis ist, dann sollte /media/ doch relativ dazu sein, oder?
Antwort1
man rsync
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
exclude-from wird verwendet, um auf eine Datei zu verweisen, die die Ordner auflistet, die Sie nicht möchten. Versuchen Sie die Option --exclude
Antwort2
Ihre Syntax ist falsch. Deshalb funktioniert es nicht.
Du sagst:
--exclude-from=/home/backup/
wenn du einfach sagen solltest
--exclude="/home/backup/*"
Außerdem verwenden Sie nicht die
--delete-excluded
Switch, der die Verzeichnisse synchronisieren kann.
Zu Ihrer Frage am Ende: Ja, in Ihrem Fall geben Sie /
als Anfang für rsync an. Wenn Sie "tmp/*"
also ausschließen, ist es tatsächlich relativ zu, /
also ist es dasselbe wie die Angabe"/tmp/*"