rsync erstellt kein Verzeichnis-Backup

rsync erstellt kein Verzeichnis-Backup

Nehmen wir an, ich habe ein Verzeichnis mit Dateien:

a b c d

Also kopiere ich mit rsync:

rsync -av --delete -P --backup --backup-dir=sample-$(date +%a-%H%M) ../sample /backups

Ich erhalte in /backup/sample:

-rw-r--r-- 1 sergio sergio 0 feb 17 18:31 d
-rw-r--r-- 1 sergio sergio 0 feb 17 18:31 c
-rw-r--r-- 1 sergio sergio 0 feb 17 18:31 b
-rw-r--r-- 1 sergio sergio 0 feb 17 18:31 a

Aber wenn ich ein Verzeichnis erstelle:

a b c d newdir

Ich erhalte nur in /backup/sample:

-rw-r--r-- 1 sergio sergio    0 feb 17 18:31 d
-rw-r--r-- 1 sergio sergio    0 feb 17 18:31 c
-rw-r--r-- 1 sergio sergio    0 feb 17 18:31 b
-rw-r--r-- 1 sergio sergio    0 feb 17 18:31 a
drwxr-xr-x 2 sergio sergio 8192 feb 17 18:52 newdir

Wenn ich jedoch eine Datei lösche:

/backups
├── sample
│   ├── a
│   ├── b
│   ├── c
│   └── newdir
└── sample-sáb-1855
    └── sample
        └── d

Warum erstellt rsync also bei der ersten Änderung (Erstellung von Newdir) kein „Beispieldatum …“? Ist das das erwartete Verhalten?

Antwort1

Ausrsync(1)

-b, --backup
Mit dieser Optionbereits vorhandene Zieldateienwerden umbenannt, wenn jede Datei übertragen oder gelöscht wird. Sie können steuern, wohin die Sicherungsdatei geht und welches (falls vorhanden) Suffix angehängt wird, indem Sie--backup-dirUnd--SuffixOptionen.

Bei den ersten beiden Malen werden nur neue Dateien übertragen, so dass das Erstellen von Backups nicht notwendig ist.

Beim dritten Aufruf sample/dwird die Datei entfernt und die Option --backupweist rsync nun an, eine Sicherungskopie von zu erstellen sample/d. Diese Sicherungskopie wird im Sicherungsverzeichnis /backups+ erstellt sample-$(date +%a-%H%M).

Das Gleiche würde passieren, wenn Sie eine der vorhandenen Dateien ändern. Wenn Sie beispielsweise die Datei ändern sample/a, würde eine Sicherungskopie aim Sicherungsverzeichnis erstellt /backups/sample-$(date +%a-%H%M).


Wenn Sie ein versioniertes Backup erstellen möchten, geben Sie lieber bei jedem rsync-Lauf ein anderes Zielverzeichnis an

rsync -av --delete -P ../sample /backups/sample-$(date +%a-%H%M)

verwandte Informationen