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