• Arch LinuxLinux
  • syntax rsync -av --exclude=/run/media/user/Daten/Videos ... funktioniert nicht

wenn ich den Befehl
syntax rsync -av --exclude=/run/media/user/Daten/Videos --delete /run/media/user/Daten/ /run/media/user/Sicherungskopie/Daten/
verwende, funktioniert nicht der Befehl exclude nicht. Das Verzeichnis wird trotzdem synchronisiert.

Ich habe im Internet recherchiert und auch diese Syntax ausprobiert
... --exclude={/run/media/user/Daten/}
Das geht aber auch nicht.

Weiß jemand wie die genaue Syntax (der Befehl) lauten muss?

  • Bearbeitet

Bei mir funktioniert das einwandfrei:
#rsync -aAXh --info=progress2 --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/SSD2/*","/media/*","/lost+found/*"} / /run/media/gl/backup_disk/p_arch/
Ist als Beispiel um ein ganzes Arch-Linux zu sichern.

Filter-Regeln gelten relativ zum Pfad des Senders.

Korrekt müßte dein --exclude lauten:
/Videos (in der Senderliste /run/media/user/Daten/)

Wo deine obige Regel greifen würde wäre für ein (fiktives)Verzeichnis:
/run/media/user/Daten/run/media/user/Daten/Videos
Dieses würde von der Senderliste dann ausgeschlossen.

Wichtig beim Excluden ist auch mit oder ohne führenden Verzeichnistrenner(/).
Beispiel von mir:

tree /tmp/media/user/Daten/
/tmp/media/user/Daten/
├── daten_to_save.txt
├── tmp
│   └── media
│       └── user
│           └── Daten
│               └── Videos
└── Videos
    └── video_to_exclude.mpg

--exclude=Videos
würde sowohl
/tmp/media/user/Daten/Videos als auch
/tmp/media/user/Daten/tmp/media/user/Daten/Videos/
ausschließen.

--exclude=/Videos
nur /tmp/media/user/Daten/Videos

--exclude=/tmp/media/user/Daten/Videos
(dein "Fehler von oben") würde nur
/tmp/media/user/Daten/tmp/media/user/Daten/Videos/ ausschließen.

Hilfreich beim Testen von Filtern ist die Option:
--debug=FILTER
oder
--debug=FILTER3
ggf. in Verbindung mit mehr oder weniger Verbose:
-v / -vv /-vvv
und ggf.
--dry-run
wenn man Testen ohne reales Kopieren möchte-