与远程系统一起使用 DIFF

与远程系统一起使用 DIFF

我想了解两个目录(而不是文件)之间的区别,比如说目录1在本地系统上目录2它位于远程服务器上。
从我在互联网上找到的信息来看,“最佳”选项是使用rsync,如下所示:

rsync -rvc --delete dir1/    user@ip:/home/user/dir2

检查完差异(如果有的话)后,我需要rsync再次从本地切换到远程,以便两个目录相同。现在为了做到这一点,我需要检查此命令的退出值并相应地继续(我在 shell 脚本中执行了所有操作)。我最初使用命令执行此操作,diff该命令允许我检查退出值(0 表示没有差异,1 表示目录之间存在差异)。但是rsync如果命令运行成功,则退出代码只会返回,这不是我需要的。

这是我需要做的:

  1. 检查两个目录是否不同(获取返回值 0 或 1)
  2. 如果没有不同则什么也不会发生
  3. 如果不同,则使用rsync同步的目录

附言:我在本地执行了此操作(从一个目录到另一个目录),并且可以完美运行diff,但不能与远程系统配合使用。

任何建议都值得赞赏。谢谢。

相关内容