Я собираюсь перенести большой веб-сайт на новый сервер (CentOS на обоих концах) - в настоящий момент на новом сервере запущена старая копия всех файлов, что, как мне кажется, я делал с SCP изначально. После создания этой копии я внес некоторые изменения в некоторые файлы на новом сервере и создал несколько в рамках тестирования.
Я надеюсь снова синхронизировать все с помощью rsync (поскольку это кажется наиболее подходящим инструментом), но я не уверен, как удалить все, что было изменено на новом сервере, и заменить его старыми файлами на существующий сервер, без повторного копирования целой кучи идентичных файлов.
Синтаксис -I, кажется, делает то, что я хочу, игнорируя даты, я могу заставить его заменить все, что отличается, но как мне удалить файлы, которых не должно быть, и получить истинную копию 1: 1 на обоих концах?
Взгляните на --delete
вариант:
--delete delete extraneous files from dest dirs
что-то вроде этого:
/usr/bin/rsync -avz --delete --ignore-existing /document/root/ user@newserver:/document/root/
Вы также можете использовать --checksum
вариант вместо использования по умолчанию «быстрой проверки».