我正在使用 rsync 将大量已更改的文件从一台服务器复制到另一台服务器。我知道我可以使用该-n
选项进行试运行,因此我可以查看哪些文件已更改。但是,是否可以让 rsync 打印更改的文件内容的差异?我想在复制之前先看看发生了什么?我可以保存到文件并稍后使用 diff(1) 应用的东西?
可能有更好的方法,但这可能有效,尽管效率不高:
rsync -vrn / dest:/ > ~/file_list
Run Code Online (Sandbox Code Playgroud)
然后编辑测试以删除统计信息,然后:
while read file; do
diff $file <(ssh dest "cat $file")
done < ~/edited_file_list
Run Code Online (Sandbox Code Playgroud)
另一种选择:
您也可以考虑使用 sshfs/fuse 之类的东西挂载文件系统,然后只使用 diff。
小智 7
对于创建补丁:
rsync -arv --only-write-batch=patch new/ old/
Run Code Online (Sandbox Code Playgroud)
对于应用它:
rsync -arv --read-batch=patch dir/
Run Code Online (Sandbox Code Playgroud)
或使用自动生成的脚本:
./patch.sh
Run Code Online (Sandbox Code Playgroud)
资料来源:
归档时间: |
|
查看次数: |
17167 次 |
最近记录: |