使用 diff 比较本地目录和服务器目录

使用 diff 比较本地目录和服务器目录

我正在尝试查找本地计算机和远程服务器中的目录之间的差异。经过多次尝试和错误,我发现以下命令来自这里

diff -q <('sudo ls -1aR /home/spyros/Daily-Backup') <(ssh [email protected] 'sudo ls -1aR Daily-Backup/')

这似乎对 ssh 的第二部分有效,但运行时会产生以下错误:

sudo ls -1aR /home/spyros/Daily-Backup: No such file or directory

查找我电脑中的文件。有什么想法吗?

答案1

diff -q <('sudo ls -1aR /home/spyros/Daily-Backup') <(ssh [email protected] 'sudo ls -1aR Daily-Backup/')

引号 ' 使 sudo 命令像一个字符串,而不是带有参数的 cmd。删除引号。这应该有效:

diff -q <(sudo ls -1aR /home/spyros/Daily-Backup) <(ssh [email protected] 'sudo ls -1aR Daily-Backup/')

答案2

使用带有 --dry-run 的 rsync。例如,这将告诉您如果要将本地副本写入服务器,需要进行哪些更改。请注意,rsync 语法很特殊,结尾的斜杠是相关的。

rsync -avP --dry-run --stats /home/spyros/Daily-Backup/ [email protected]:Daily-Backup/

相关内容