Ich versuche, meinen Home-Ordner mit dem folgenden Befehl auf einem externen Laufwerk zu sichern:
rsync -acu --delete --exclude-from='/home/chh1/rsync_exclude.txt' /home/ /media/chh1/f86f92f7-bcb4-4b8e-8a64-8a210606d422/home_backup/
Die Datei --exclude-from=
/home/chh1/rsync_exclude.txt
enthält die folgenden Einträge:
.cache
crewdb.bak.sql
Ich möchte wirklich .cache, aber auch das darin enthaltene .dconf ausschließen, da ich Dateien ausschließen möchte, die Root-Berechtigungen erfordern, und unnötige .cache-Daten, die in /home/chh1/.cache enthalten sind.
Wenn ich laufe
find ~ -name ".cache"
Ich erhalte die folgende Ausgabe:
/home/chh1/snap/pdfmixtool/common/.cache
/home/chh1/snap/gnome-system-monitor/common/.cache
/home/chh1/snap/okular/63/.cache
/home/chh1/snap/freemind/common/.cache
/home/chh1/.cache
find: ‘/home/chh1/.cache/dconf’: Permission denied
Ich möchte wirklich ausschließen
/home/chh1/.cache
Dadurch würde auch der Dconf- und allgemeine Cache-Müll entfernt. Ich möchte jedoch die anderen Cache-Verzeichnisse, die beim Ausführen des Find-Befehls gefunden werden, nicht ausschließen.
da --exclude-from= nur Muster mit dem abgleicht, was in der Ausschlussdatei steht, wie kann ich einen Pfad statt eines Musters angeben und vorzugsweise innerhalb der Ausschlussdatei? Gibt es eine Möglichkeit?
Vielen Dank für Ihre Hilfe, sie wird wirklich sehr geschätzt!
Antwort1
Ihre Ausschlussliste kann auch absolute Namen enthalten, die /home/
in Ihrem Fall unterhalb des Startverzeichnisses übereinstimmen. Verwenden Sie die Zeile
/chh1/.cache
statt .cache
nur auszuschließen /home/
/chh1/.cache
, d.h./home/chh1/.cache