我是Unix的新手,在这里需要一些帮助。
我在两个不同的服务器上有两个目录。这两个目录包含相同的文件。现在,我想检查两个目录中的所有文件是否都同步。如果文件不同步,那么我只想显示那些文件的名称。
当目录位于同一服务器上时,我能够执行此操作。当目录位于两个不同的服务器上时,无法弄清楚如何执行此操作。
eg:
server1 /abc/home/sample1/
server2 /abc/home/sample2/
在这里,我只希望不同步时显示文件名。
提前致谢
最佳答案
您可以将rsync与-n
标志一起使用,以查找文件是否同步,而无需实际进行同步。
例如,从 server1 :
rsync -n -avrc /abc/home/sample1/* server2:/abc/home/sample2/
这将打印
-r
和server1:/abc/home/sample1/
之间不同的所有文件的名称(递归,带有server2:/abc/home/sample2/
标志)。
rsync
used parameters explanation
-n, --dry-run
- perform a trial run with no changes made
-a, --archive
- archive mode; equals -rlptgoD (no -H,-A,-X)
-v, --verbose
- increase verbosity
-r, --recursive
- recurse into directories
-c, --checksum
- skip based on checksum, not mod-time & size
关于unix - 使用unix比较远程服务器上两个目录的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19396718/