![Wie findet man schnell die größten Dateien/Verzeichnisse, die sich zwischen zwei Verzeichnissen unterscheiden, die unter Linux identisch sein sollten?](https://rvso.com/image/231064/Wie%20findet%20man%20schnell%20die%20gr%C3%B6%C3%9Ften%20Dateien%2FVerzeichnisse%2C%20die%20sich%20zwischen%20zwei%20Verzeichnissen%20unterscheiden%2C%20die%20unter%20Linux%20identisch%20sein%20sollten%3F.png)
Ich binversucht, zwei Festplatten zu synchronisieren. Ich dachte, die meisten Leute, die keine Daten verlieren wollen und kein RAID verwenden, würden eine solche Methode verwenden, damit es eine gut funktionierende GUI gibt. Das scheint nicht der Fall zu sein und unter Linux habe ich nur die Grsync-GUI gefunden, die das kann, aber da sie keine Root-eigenen Dateien kopieren kann, musste ich trotzdem diesen rsync-Befehl in der Konsole ausführen:
sudo rsync -r -t -p -o -g --delete -l -s /media/veracrypt1 /media/veracrypt2
Es bedeutet im GrundeKopieren Sie alles so, wie es auf dem Originallaufwerk ist, und löschen Sie Dateien auf dem Ziellaufwerk, die auf dem Quelllaufwerk gelöscht wurden. Ich beabsichtige, das Laufwerk zu klonen, damit sein Inhalt 100 % identisch ist, und im Befehl fehlen möglicherweise noch einige Parameter. Beide ext4-Laufwerke sind vollständig mit VeraCrypt verschlüsselt und sind vom exakt gleichen Modell (auch gleiche Speichergröße). Ich verwende Debian12/KDE.
Mein Problem ist, dassDer Vorgang wird immer abgebrochen, bevor der Kopiervorgang abgeschlossen ist, da das Ziellaufwerk voll ist, rsync zeigt diesen Fehler:
rsync: [receiver] write failed on "/media/veracrypt2/file": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(380) [receiver=3.2.7]
rsync: [sender] write error: Broken pipe (32)
Es sollte jedoch nicht voll sein, da lsblk -f
angezeigt wird, dass das Quelllaufwerk weniger als 95 % FSUSE % hat und viele GBs frei sind.
Ich habe bereits versucht, große Dateien auf der Zielfestplatte zu löschen und sie erneut auszuführen, --exclude-from='./exclude-file.txt' --delete-excluded
um einige große Dateien auszuschließen, var/spool/
die var/cache/
sich irgendwo in einem Verzeichnis einer mit BackInTime erstellten Systempartitionssicherung befinden. Ich habe auch den reservierten Speicherplatz für das Root-Laufwerk von 5 % auf 1 % geändert, wodurch sudo tune2fs -m 1 /dev/mapper/veracrypt2
zuvor angezeigt wurde0B verfügbar, auch nach dem Löschen großer Dateien. Es läuft immer noch nicht durch.
Wie kann ich schnell herausfinden, welche Verzeichnisse sich in der Größe unterscheidendamit ich versuchen kann, die Ursache dieses Problems zu finden?
Bei dem Problem „Nicht freigegebener Speicherplatz“ hat ein Benutzer vorgeschlagen, Befehle auszuführen, um sudo du -sk /media/veracrypt2/*/* > ./before_deleting_files.txt
den Speicherplatz zu vergleichen. Dieser wird jedoch nur 4
für einige Dateien und Verzeichnisse angezeigt und das Laden jedes Befehls dauert lange.
Ich suche nach einer Methode, bei der das Scannen nicht sehr lange dauert, bei der keine anderen Probleme auftreten, die zuerst gelöst werden müssen, und die idealerweise entweder 1) etwas grafisch Dynamisches wie Graphical Disk Map (gdmap) ist, wo man die Größe visuell sehen (in diesem Fall auch vergleichen) und dynamisch darin navigieren kann, oder 2) etwas, das einen Bericht erstellt, der einfach auflistet, welche Verzeichnisse sich unterscheiden.
Antwort1
Sie könnten die Ausgabe von tree -d --du disk1
und tree -d --du disk2
jeweils in eine Datei umleiten und sie dann vergleichen ...
So vermeiden Sie die Diskrepanzen von rsync:
In meinem Kommentar oben habe ich mich so sehr auf die Gesamtkomplexität des von Ihnen beschriebenen Systems konzentriert, dass ich mir Ihren rsync
Aufruf nicht einmal genauer angesehen habe.
Das muss
sudo rsync -r -t -p -o -g --delete -l -s /media/veracrypt1/ /media/veracrypt2
Nicht
sudo rsync -r -t -p -o -g --delete -l -s /media/veracrypt1 /media/veracrypt2
Beachten Sie den abschließenden Schrägstrich /media/veracrypt1/
.