rsync
rsync ist ein Tool, um Dateien zu kopieren.
zum Testen kann ein --dry-run am Ende des cmd angefügt werden
rsync -aPh --info=progress2 --info=name0 --ignore-existing --log-file=/home/root/rsync.log "/mnt/START" "/mnt/ZIEL"
oder auch
rsync -aPhzv --delete --info=progress2 --bwlimit=2048 --log-file="/home/rsync_$(date +'%Y-%m-%d_%H-%M').log" --exclude data/pl-admin --exclude data/appdata_ockpw9aiwppb /mnt/praxis-volume-01/docker-data/volumes/nextcloud_db/_data/ /mnt/pl-hz-03/mnt/praxis-volume-03/docker-data/volumes/nextcloud_db/_data/
Eikes Empfehlung für Spiegelung:
rsync -aPhv --info=progress2 --log-file="/home/rsync_$(date +'%Y-%m-%d_%H-%M').log" /mnt/volume-01/docker-data/volumes/ /mnt/volume-02/docker-data/volumes/
Eikes Empfehlung für Kopiervorgang (vorhanden Dateien im Zielverzeichnis bleiben erhalten):
rsync -aPhv --info=progress2 --ignore-existing --log-file="/home/rsync_$(date +'%Y-%m-%d_%H-%M').log" /mnt/volume-01/docker-data/volumes/ /mnt/volume-02/docker-data/volumes/
Erklärung:
-
-a→ Archiv-Modus (rekursiv, Rechte, Zeit, Symlinks etc.) -
-P→ Fortschritt je Datei & abgebrochene Übertragungen fortsetzen -
-h→ „Human readable“ Größenangaben (z.B. 4.3M) -
-z→ Komprimiert Daten bei Übertragung -
-v→ „Verbose“ Ausgabe (mehr Infos) -
--bwlimit=2048→ Limitert die Übertragungsgeschwindigkeit auf zb 2048 Kilobyte/s (2 MB/s), gut für SSH oder tagsüber -
--info=progress2→ Zeigt Gesamtfortschritt aller Dateien -
--perms→ Überträgt die Datei-Berechtigungen (explizit, steckt aber schon in-a) -
--times→ Überträgt die Änderungszeit (auch schon in-a) -
--log-file="/home/rsync_$(date +'%Y-%m-%d_%H-%M').log"→ Schreibt ein Logfile - ENTWEDER:
-
--delete→ Löscht im Ziel alles, was es in der Quelle nicht mehr gibt (gut für Spiegelung) - ODER:
--ignore-existing→ Erhält Dateien im Zielordner, auch wenn die Dateien sich unterscheiden (schlecht für Spiegelung)- ODER:
- --update → Überschreibt nur wenn Quelldatei neuer ist
https://www.rsyncinator.app/web
https://askubuntu.com/questions/609303/how-can-i-view-a-progress-bar-when-running-rsync
Log-Output lesen
Quelle: https://stackoverflow.com/questions/4493525/what-does-f-mean-in-rsync-logs
Explanation of each bit position and value in rsync's output:
YXcstpoguax path/to/file
|||||||||||
||||||||||╰- x: The extended attribute information changed
|||||||||╰-- a: The ACL information changed
||||||||╰--- u: The u slot is reserved for future use
|||||||╰---- g: Group is different
||||||╰----- o: Owner is different
|||||╰------ p: Permission are different
||||╰------- t: Modification time is different
|||╰-------- s: Size is different
||╰--------- c: Different checksum (for regular files), or
|| changed value (for symlinks, devices, and special files)
|╰---------- the file type:
| f: for a file,
| d: for a directory,
| L: for a symlink,
| D: for a device,
| S: for a special file (e.g. named sockets and fifos)
╰----------- the type of update being done::
<: file is being transferred to the remote host (sent)
>: file is being transferred to the local host (received)
c: local change/creation for the item, such as:
- the creation of a directory
- the changing of a symlink,
- etc.
h: the item is a hard link to another item (requires
--hard-links).
.: the item is not being updated (though it might have
attributes that are being modified)
*: means that the rest of the itemized-output area contains
a message (e.g. "deleting")
Some example output from rsync for various scenarios:
>f+++++++++ some/dir/new-file.txt
.f....og..x some/dir/existing-file-with-changed-owner-and-group.txt
.f........x some/dir/existing-file-with-changed-unnamed-attribute.txt
>f...p....x some/dir/existing-file-with-changed-permissions.txt
>f..t..g..x some/dir/existing-file-with-changed-time-and-group.txt
>f.s......x some/dir/existing-file-with-changed-size.txt
>f.st.....x some/dir/existing-file-with-changed-size-and-time-stamp.txt
cd+++++++++ some/dir/new-directory/
.d....og... some/dir/existing-directory-with-changed-owner-and-group/
.d..t...... some/dir/existing-directory-with-different-time-stamp/
No Comments