Таким образом, rsync запускает некоторые контрольные суммы в процессе принятия решения о том, что передать (т.е. какие блоки в файле). Но есть ли причина доверять файлу на принимающей стороне больше, чем при обычной передаче по сети? Должен ли я запускать контрольные суммы после завершения rsync для проверки данных? Является ли повторный запуск rsync с включенной предварительной проверкой (например, параметром --checksum) приемлемым способом для этого?
В целом механизм контрольной суммы rsync довольно надежен. Компромисс здесь обычный: вы можете выполнить больше проверок, но это займет больше времени. Если вас действительно беспокоит, что набор файлов на двух машинах будет практически одинаковым, вам следует выполнить отдельную проверку. Например, вы можете использовать md5sum в списке файлов с обеих сторон и сравнивать результаты. Предполагая, что файлы за это время не изменяются (например, файлы журналов), это даст вам очень высокую уверенность в том, что файлы идентичны с обеих сторон.
Использовать rsync -Pahn --checksum /path/to/source /path/to/destination | sed '/\/$/d' | tee migration.txt
sed
удаляет каталоги из проверки контрольной суммы. tee
выводит на экран и в файл одновременно.
Имейте в виду, что этот метод может быть неподходящим, если у вас очень большие файлы, так как проверка займет много времени.