Как быстро найти самые большие файлы/каталоги, которые различаются между двумя каталогами, которые должны быть идентичны в Linux?

Как быстро найти самые большие файлы/каталоги, которые различаются между двумя каталогами, которые должны быть идентичны в Linux?

Япытаюсь синхронизировать два жестких диска. Я думал, что большинство людей, которые не хотят терять данные и не используют RAID, будут использовать такой метод, чтобы был хорошо работающий GUI. Похоже, это не так, и в Linux я нашел только Grsync GUI, который может это сделать, но поскольку он не может копировать файлы, принадлежащие root, мне все равно пришлось запустить эту команду rsync в консоли:

sudo rsync -r -t -p -o -g --delete -l -s /media/veracrypt1 /media/veracrypt2
Это в основном означаетскопируйте все, как есть на исходном диске, и удалите на целевом диске файлы, которые были удалены на исходном диске. Я собираюсь клонировать диск, чтобы его содержимое было на 100% идентичным, и некоторые параметры могут отсутствовать в команде. Оба диска ext4 полностью зашифрованы с помощью VeraCrypt и имеют одинаковую модель (а также одинаковый размер хранилища). Я использую Debian12/KDE.

Моя проблема в том, чтоон всегда прерывается до завершения копирования, поскольку целевой диск заполнен, rsync показывает эту ошибку:

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)

Но он не должен быть заполнен, так как lsblk -fпоказывает, что исходный диск заполнен менее чем на 95% FSUSE% и при этом свободно много ГБ.

Я уже пробовал удалять большие файлы на целевом диске и перезапускать его с --exclude-from='./exclude-file.txt' --delete-excludedдобавленным, чтобы исключить несколько больших файлов и var/spool/которые var/cache/находятся где-то в каталоге резервной копии системного раздела, сделанной с помощью BackInTime. Я также изменил корневое зарезервированное дисковое пространство с 5% до 1%, с sudo tune2fs -m 1 /dev/mapper/veracrypt2которым ранее он показывал0B доступен даже после удаления больших файлов. Он все еще не работает.

Как быстро узнать, какие каталоги отличаются по размеру?чтобы я мог попытаться найти причину этой проблемы?

При возникновении проблемы с невысвобождением места на диске пользователь предложил выполнить такие команды, как sudo du -sk /media/veracrypt2/*/* > ./before_deleting_files.txtсравнение места на диске, но они отображаются только 4для некоторых файлов и каталогов, и загрузка каждой команды занимает много времени.

Я ищу способ, который не займет много времени на сканирование, не будет иметь других проблем, которые нужно будет сначала решить, и в идеале это будет либо 1) что-то графическое динамическое, вроде графической карты диска (gdmap), где можно визуально увидеть (в данном случае также сравнить) размер и динамически перемещаться по нему, либо 2) что-то, что создаст отчет, в котором просто перечислены отличающиеся каталоги.

решение1

Вы можете перенаправить вывод tree -d --du disk1и tree -d --du disk2в файл, а затем сравнить их...

Чтобы избежать расхождений с rsync:

В своем комментарии выше я настолько зациклился на общей сложности описанной вами системы, что даже не вник в суть вашего rsyncпризыва.

Это должно быть

sudo rsync -r -t -p -o -g --delete -l -s /media/veracrypt1/ /media/veracrypt2

Нет

sudo rsync -r -t -p -o -g --delete -l -s /media/veracrypt1 /media/veracrypt2

Обратите внимание на завершающую косую черту /media/veracrypt1/.

Связанный контент