我使用以下命令来比较本地和远程计算机上的目录
rsync -K --delete -n -avrc $cwd/* simon@${othIP}:$cwd > /tmp/output
其中宏具有明显的值。
然后,我可以解析/tmp/output
以查找同步后哪些文件将从远程删除。
但我需要区分文件
- exist on the *local* but do not exist on the *remote*
- exist on both but are different.
(正如 @BowlOfRed 指出的,上面的命令做允许我识别存在于远程但不存在于本地的文件。)
有人可以推荐一种方法来做到这一点吗?非常感谢您的任何建议
答案1
存在于远程但不存在于本地的文件将被删除,并且在详细输出中将显示为“删除文件名”。
两者都存在但不同的文件将被更新。仅显示文件名(前面不显示“删除”)。
如果需要区分“新”文件和“更新”文件,请添加 -i 标志。新文件的所有属性都将显示为“+”,而更新的文件将显示特定的属性。
$ echo update > a/update ; echo new > a/new
$ rm a/delete_me_later
$ rsync --delete -ai a/ b/
*deleting delete_me_later
.d..t....... ./
>f++++++++++ new
>f.st....... update