我使用带-av参数的rsync将网站从一台服务器迁移到另一台服务器。 没有显示错误,但文件夹的大小是不一样的,网站无法正常工作。 所以缺less一些东西。 有一个参数谁真的复制一切? 我有双方的sudo帐户。
我用du -s dir检查文件夹大小,大小如下:
old server : 2554620 new server : 2547676
它是以字节为单位的。 我如何pipe理确切的副本?
Wordcount输出:
old server : 2663 3105 175534 new server : 2665 3107 175594
它可能有些文件不符合rsync的默认大小和date。 取而代之的是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校验和,如果数字相同,那么你有相同的文件(例如server1和server2上的file1),虽然这不考虑文件内容不同
如果你想看看哪一个文件存在,而不是另一个,那么你当然可以输出目录列表到文件:
cd /to/root/of/your/website find . > server1.txt
…在两台服务器上,然后
diff server1.txt server2.txt
只有一个最后的想法:
scp -r user@server1:/path/to/website /path/to/website