Hallo,
ich möchte eine Sicherungskopie meines statischen Datenverzeichnisses auf in ein anderes Verzeichnis auf einem anderen Datenträger erstellen. Beide Orte haben, soweit ich das beurteilen kann, die gleichen Berechtigungen und das gleiche Dateisystem. Am Ende des Kopiervorgangs sollten also die Summen der Dateien/Dateigrößen exakt gleich sein. Ich habe den Kopiervorgang erst mit Doplhin und dann mit Midknight Commander probiert. In beiden Fällen ging es nicht ohne Fehlermeldung ab. Schließlich verwendete ich cp. Das lief klaglos. Dann wollte ich prüfen, ob der Kopiervorgang vollständig war und verglich zunächst mal nur die Summen. Sie weichen immer wieder ab:
1 2 3 | $ cp -ruv /mnt/kry/ich /mnt/bck24/daten ; du -s /mnt/kry/ich ; du -s /mnt/bck24/daten/ich 5304496212 /mnt/kry/ich 5304501044 /mnt/bck24/daten/ich |
cp macht trotz -v keine Ausgabe, was ich als "vollständig" interpretiere.
Die Abweichung ist aber in der Summe der Dateigrößen vorhanden, wie man an den beiden du-Befehlen sieht.
Auf die Quelle greifen theoretisch Thunderbird und Owncloud zu. Beides hatte ich aber für den Vergleich beendet. Es handelt sich um lokale Datenträger ohne Netzfreigaben.
$ mount | grep -i "mapper" /dev/mapper/kry on /mnt/kry type ext4 (rw,relatime) /dev/mapper/luks-8a3d6f60-285b-4f74-9021-e9d8b898e122 on /mnt/bck24 type ext4 (rw,relatime)
Offene Dateien oder Zeiger:
lsof | grep -i "kry" mc 33226 p cwd DIR 252,0 4096 100335617 /mnt/kry/ich bash 33228 p cwd DIR 252,0 4096 100335617 /mnt/kry/ich
Ich glaube nicht, dass mc oder bash eine Datei in der Quelle aufhaben. Im Ziel ist die Ausgabe von lsof leer.
Wie vergleichen? Ich habe es mit diff versucht:
$ diff -r /mnt/kry/ich /mnt/bck24/daten/ich
Nur in /mnt/bck24/daten/ich/owncloud: .sync_journal.db-shm.
Nur in /mnt/bck24/daten/ich/owncloud: .sync_journal.db-wal.
diff: /mnt/kry/ich/privat/[...]/.mozilla/firefox/2axidacr.uk/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/privat/[...]/.mozilla/firefox/2axidacr.uk/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/privat/[...]/.mozilla/firefox/mwad0hks.default/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/privat/[...]/.mozilla/firefox/mwad0hks.default/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/privat/[...]/.thunderbird/mwrrhtkq.default/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/privat/[...]/.thunderbird/mwrrhtkq.default/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/tbmail/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/tbmail/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/unsortiertes/2022/2022-transfer/p/.config/menus/mate-applications-merged: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/unsortiertes/2022/2022-transfer/p/.config/menus/mate-applications-merged: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/unsortiertes/2022/2022-transfer/p/.mozilla/firefox/m2yi5z7l.default-release/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/unsortiertes/2022/2022-transfer/p/.mozilla/firefox/m2yi5z7l.default-release/lock: Datei oder Verzeichnis nicht gefunden
Nur in /mnt/bck24/daten/ich/wolke: .sync_journal.db-shm.
Nur in /mnt/bck24/daten/ich/wolke: .sync_journal.db-wal.
diff: /mnt/kry/ich/z_Sicher/[...]/.pulse/8375a466d2b147593271228800000008-runtime: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/z_Sicher/[...]/.pulse/8375a466d2b147593271228800000008-runtime: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/z_Sicher/[...]/Ubuntu One/Shared With Me: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/z_Sicher/[...]/Ubuntu One/Shared With Me: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/z_Sicher/tbmail-2023-11-12-1841-mit-[...]/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/z_Sicher/tbmail-2023-11-12-1841-mit-[...]/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/kry/ich/z_Sicher/z_Privat-Backup/tb-backup/tbmail-bck-2023-05-06-1446/lock: Datei oder Verzeichnis nicht gefunden
diff: /mnt/bck24/daten/ich/z_Sicher/z_Privat-Backup/tb-backup/tbmail-bck-2023-05-06-1446/lock: Datei oder Verzeichnis nicht gefundenDie Stellen mit [...] sind Kürzungen von mir. Es handelt sich nur um Verzeichnisnamen ohne Umlaute/Sonderzeichen.
Die gefundenen Abweichungen sind Lock-Dateien von Programmen, die nicht aktiv waren, zum Teil seit Jahren nicht mehr.
Es sind aber bis auf die Funde bei owncloud und wolke alles nur Paare. Das heißt, cp hat diese Dateien kopiert, und diff kann mit ihnen nicht umgehen, liefert eine unsinnige Auskunft.
Um das Problem mit owncloud und wolke zu beseitigen, ohne erneut alles löschen um den cp-Befehl erneut laufen lassen zu müssen, habe ich rsync zur Synchronisation genommen. Zunächst mit den Parametern -av --delete, dann so:
$ rsync -avc --progress --delete /mnt/kry/ich /mnt/bck24/daten ; du -sbl /mnt/kry/ich ; du -sbl /mnt/bck24/daten/ich
Die Ausgabe ist:
p@geist:~$ rsync -av --size-only --stats --progress --delete /mnt/kry/ich /mnt/bck24/daten ; du -sbl /mnt/kry/ich ; du -sbl /mnt/bck24/daten/ich sending incremental file list Number of files: 1.074.372 (reg: 1.012.219, dir: 61.311, link: 842) Number of created files: 0 Number of deleted files: 0 Number of regular files transferred: 0 Total file size: 5.429.467.415.101 bytes Total transferred file size: 0 bytes Literal data: 0 bytes Matched data: 0 bytes File list size: 9.369.812 File list generation time: 0,001 seconds File list transfer time: 0,000 seconds Total bytes sent: 33.372.286 Total bytes received: 66.390 sent 33.372.286 bytes received 66.390 bytes 1.486.163,38 bytes/sec total size is 5.429.467.415.101 speedup is 162.370,88 5304586944 /mnt/kry/ich 5304591188 /mnt/bck24/daten/ich
Jetzt kann ich mir aussuchen, wie groß die Summe der Dateigrößen ist:
5.429.467.415.101 Bytes laut rsync 5.429.753.340.477 auf /mnt/kry/ich laut du 5.429.751.214.653 auf /mnt/bck24/daten/ich laut du
Vielleicht rührt der Unterschied zwischen du und rsync daher, dass das eine Programm Hardlinks und/oder Verzeichnisse mitzählt und das andere nicht. Aber die beiden du-ausgaben sollten doch bei gleichen Parametern bitte gleich sein. Die rsync-Ausgabe ist jetzt immer gleich, was bedeutet, dass sich in Quelle und Ziel wirkliche nichts mehr geändert hat (durch ownclou, wolke oder sonstwas).
Letztlich will ich, dass auf dem Ziel exakt das ist, was es in der Quelle gibt. Sonst ist es kein vollständiges Backup.
Wie erreiche ich das bitte?
Danke & Gruß
Delcour
Moderiert von Taomon:
Passender verschoben.