我即将把一个大型网站转移到一台新服务器(两端都是 CentOS)——目前新服务器正在运行所有文件的旧副本,我想我最初使用 SCP 就是这么做的。自从制作了那个副本后,我对新服务器上的一些文件做了一些更改,并创建了一些文件作为测试的一部分。
我希望使用 rsync 再次同步所有内容(因为它似乎是最合适的工具),但我不确定如何删除新服务器上已更改的所有内容并将其替换为现有服务器上的旧文件,而无需再次复制一大堆相同的文件。
-I 语法似乎可以满足我的要求,通过忽略日期,我可以让它替换任何不同的东西,但是如何删除不应该存在的文件并在两端获得真正的 1:1 副本?
答案1
看一下这个--delete
选项:
--delete delete extraneous files from dest dirs
像这样:
/usr/bin/rsync -avz --delete --ignore-existing /document/root/ user@newserver:/document/root/
您也可以使用该--checksum
选项,而不是默认使用“快速检查”。