Назад | Перейти на главную страницу

Некоторые файлы не передаются с помощью rsync между 2 серверами

Я использовал rsync с параметром -av для переноса веб-сайта с одного сервера на другой. ошибка не отображалась, но размер папок не тот, и веб-сайт работает некорректно. так что чего-то не хватает. Есть ли параметр, который действительно все копирует? У меня есть учетные записи sudo с обеих сторон от c.

Я проверяю размер папки с помощью du -s dir , размеры следующие:

old server : 2554620

new server : 2547676

это в байтах. Как мне получить точную копию?

Вывод Wordcount:

old server :  2663    3105  175534
new server :  2665    3107  175594

Возможно, некоторые файлы не соответствуют размеру и дате rsync по умолчанию. Вместо этого используйте rsync для передачи на основе контрольных сумм. Это будет медленнее, но если файл все равно изменился, он будет перенесен.

rsync -cav <source> <destination>

Если вы хотите убедиться, что он передаст нужные вам файлы, добавьте -n в конец команды, чтобы получить пробный запуск. Затем вы можете проверить список на наличие отсутствующих файлов или, что еще проще, если у вас есть конкретное имя файла, которое, как вы знаете, не передавалось раньше, просто введите его с помощью grep!

rsync -cav <source> <destination> -n | grep some-missing-filename

ОБНОВЛЕНИЕ: если вы не уверены, совпадает ли содержимое папок, вы можете легко проверить следующее:

на каждом сервере:

cd /to/root/of/your/website
find . | md5sum

И затем сравните контрольную сумму md5, которая выводится, если число совпадает, значит, у вас одинаковые файлы (например, file1 на server1 и на server2), хотя это не учитывает различие содержимого файла

Если вы хотите увидеть, какие файлы существуют в одном, но не в другом, вы, конечно, можете вывести списки каталогов в файлы:

cd /to/root/of/your/website
find . > server1.txt

... на обоих серверах, а затем

diff server1.txt server2.txt

И последняя мысль:

scp -r user@server1:/path/to/website /path/to/website