Answers:
从差异手册页:
如果from-file和to-file都是目录,则diff按字母顺序比较两个目录中的相应文件;除非给出-r或--recursive选项,否则此比较不是递归的。diff绝不会将目录的实际内容像文件一样进行比较。完全指定的文件可能不是标准输入,因为标准输入是无名的,并且“具有相同名称的文件”的概念不适用。
因此,比较目录: diff --brief -r dir1 dir2
并排比较文件: diff --side-by-side file1 file2
sshfs
用来创建临时的临时网络目录,而不必使用NFS。
假设:
www1
,与远程www2
www1
到远程都有公共密钥身份验证www2
www1
和远程用户www2
找到/ var / www / html / -name“ *” -exec md5sum -b {} \; | grep -v“ / var / www / html / exclude_this dir”> local.md5 ssh www2“查找/ var / www / html / -name'*'-exec md5sum -b {} \; | grep -v / var / www / html / exclude_this目录> remote.md5” scp www2:remote.md5。 diff local.md5 remote.md5
您确实想将rsync
减少带宽消耗的能力与带来强大,diff
灵活的差异的能力相结合。
所以像这样:
cp -R $local $bak
rsync $server:$remdir/* $local/
rsync $local/ $server:$remdir/*
diff -wur $local $bak
我想如果您经常使用它rsync
而不是cp
在第一行中进行调整,则可以对它进行一些调整-显然,在最后一行中,您可以根据diff
自己的喜好完全格式化它。在OP的情况下可能为y
这种方法的缺点是您最终会使用两倍的本地空间,但是花费不到$ 1 / g谁在乎?
cp --reflink=auto --sparse=always
根据基础FS,不使用任何空间进行复制。
不要diff old_dir new_dir > diff.txt
用同一台服务器上侧边差的一面。
对于远程文件:
例如:ABC是现有服务器,XYZ是您的远程服务器,目录名称是123。
步骤1:将ABC服务器上的现有目录123重命名为123_ABC。
ABC:/Home > mv 123 123_ABC
步骤2:在服务器ABC上创建一个新目录:
ABC: > mkdir 123_XYZ
步骤3:将所有文件从XYZ服务器上的目录123复制到ABC服务器上的123_XYZ目录:
XYZ/123 > scp * userid@ABC: /123_XYZ
这会将所有文件从XYZ服务器上的目录复制到ABC服务器/ 123_XYZ目录。
步骤4:在两个目录之间进行比较:
现在转到ABC服务器并在123_ABC和123_XYZ之间执行比较
ABC > diff 123_ABC 123_XYZ > diff.txt
上面的命令会将差异结果保存到同一路径中的diff.txt中。
然后,您可以比较差异。
谢谢,
h
AIDE高级入侵检测环境(AIDE)是用于UNIX操作系统的文件完整性检查器。其目的是提供有关受支持文件系统上数据完整性的报告。通过在目标主机上多次运行AIDE,您可以确定正在更改的文件。通过在不同主机上多次运行AIDE,可以确定哪些文件和权限不同。然后在报告的“不同”文件上使用gui diff工具。
或使用gui diff工具,例如meld,guiffy,kdiff3,diff,vimdiff,gvimdiff,Emacs,Kompare,Diffuse,Easydiff,TkDiff或xxdiff。除文件差异外,大多数将执行目录差异。如其他人所述,您需要使用NFS,SMBFS或SSHFS挂载远程驱动器。