对比目录文件异同
使用diff
一个简单比较两个目录文件(同一台主机)异同的方法是使用diff
命令:
diff -rq DIR1 DIR2
这样能够看出文件的差异。
使用rsync
rsync -avnc --delete $SOURCE/ $TARGET
-c
使用checksum来比较文件内容;可以使用ac
或者rc
(-r
表示递归)-n
最重要的参数
:不修改任何内容-v
列出文件--delete
对称检查,而不是单向差异最后
/
表示检查目录内,和目标对比目录内的内容
远程对比两个服务器上指定目录
如果要对比服务器A和服务器B上的指定目录,可以结合ssh来实现:
使用diff命令
diff <(ssh server1 'sudo ls -1aR /var/www/vhosts/domain.com') <(ssh server2 'sudo ls -1aR /var/www/vhosts/domain.com')
使用rsync
rsync --dry-run -rvce "ssh -p port#" user@server1:/var/www/vhosts/ /var/www/vhosts/domain.com/
--dry-run 表示显示哪些文件被传输
-r 表示递归
-v 表示verbose详细模式
-c 表示使用checksum进行文件校验,而不是只比较文件大小和时间戳
-e 表示command行参数,也就是"ssh -p port#"
参考
Last updated
Was this helpful?