Убедиться, что rsync скопировал все, что должен был?

Убедиться, что rsync скопировал все, что должен был?

Я пытаюсь использовать rsync для резервного копирования удаленного сервера Linux.

Я запускаю DeltaCopy в качестве сервера на своем настольном ПК (Win7/64) и запускаю rsync, подключаясь по SSH к Linux-компьютеру, выполняя sudo для получения прав root и выполняя что-то вроде этого (слегка запутанно, по понятным причинам):

rsync -azv --modify-window=1 \
--exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found/*} \
--log-file=/var/log/rsync.log /* rsync://[email protected]/MyBackup

Кажется, это работает, но я беспокоюсь, что один или несколько файлов не были скопированы и тихо затерялись.

Есть ли какой-либо простой способ заставить rsync сгенерировать краткий список файлов на компьютере с Linux, которые ДОЛЖНЫ были быть скопированы, но либо не были скопированы, либо отличаются, чтобы я знал, какие из них требуют особого внимания (MySQL InnoDB и т. д.)?

Кроме того, учитывая приведенный выше пример, какие изменения мне следует внести для последующих запусков, чтобы заменить копию более новыми версиями, если что-то изменилось?

решение1

Попробуйте следующий вариант:

--dry-run

решение2

Согласно руководству rsync, опция -v укажет, какие файлы будут скопированы. Затем вы можете взять эти имена файлов и создать скрипт, который будет работать в обеих системах и выполнять md5-суммирование. Затем вы можете diff-файлы и, при необходимости, scp-файлы с разными md5.

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