
Я пытаюсь использовать 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.