比较两个目录中的文件并写入delta

时间:2014-09-04 14:22:01

标签: linux search compare diff rsync

我找不到两个目录之间的区别:更新了什么,删除了什么。 之后,我需要将新文件保存到存档和已删除文件列表中。

之后我需要第一个目录+ delta的副本转到新目录并重新创建目录2.

所有这一切必须快=)

我试过rsync

time rsync -rv --dry-run --delete ./10 ./130
sent 775081 bytes  received 105052 bytes  352053.20 bytes/sec
total size is 838724381  speedup is 952.95 (DRY RUN)
real    0m1.270s
user    0m0.300s
sys     0m0.484s

但我没有看到已删除的文件

rsync --version

rsync版本3.0.9协议版本30 Andrew Tridgell,Wayne Davison和其他人的版权所有(C)1996-2011。 网站:http://rsync.samba.org/

也许我不明白某事:

root@RDE-1.3:/home.local/diff# rm -rf a/
root@RDE-1.3:/home.local/diff# rm -rf b
root@RDE-1.3:/home.local/diff# mkdir a b
root@RDE-1.3:/home.local/diff# touch b/ssdf
root@RDE-1.3:/home.local/diff# touch a/c
root@RDE-1.3:/home.local/diff# rsync --dry-run -i  --delete-delay  --stats -a  a b |grep "deleting"
root@RDE-1.3:/home.local/diff# rsync --dry-run -i  --delete-delay  --stats -a  a b
cd+++++++++ a/
>f+++++++++ a/c

Number of files: 2
Number of files transferred: 1

我在目录文件中创建了另一个但不会删除的目录文件?

1 个答案:

答案 0 :(得分:1)

rsync可能不一定更快。您正在观察的是Linux文件系统缓存:

$ time find /usr/share > /dev/null
real    0m6.779s
user    0m0.082s
sys 0m0.199s

$ time find /usr/share > /dev/null
real    0m0.109s
user    0m0.043s
sys 0m0.064s

注意第二次搜索是如何进行的。