【问题标题】:compare files in two directory and write delta比较两个目录中的文件并写入增量
【发布时间】:2014-09-04 14:22:01
【问题描述】:

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

之后,我需要使用第一个目录的副本 + 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 版权所有 (C) 1996-2011,Andrew Tridgell、Wayne Davison 和其他人。 网址: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

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

【问题讨论】:

    标签: linux search compare diff rsync


    【解决方案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
    

    注意第二次搜索是如何瞬间完成的。

    【讨论】:

    • 未运行过:time rsync --dry-run -i --delete-delay --stats -a ./131 ./230 real 0m1.487s user 0m0.304s sys 0m0.568s
    • @ValeriySolovyov 尝试格式化您的评论以使其可读。
    • 我测试了 rsync 和 diff。 Rsync 更快,但这并不重要。我没有找到答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2012-01-09
    • 2012-10-01
    • 1970-01-01
    • 2012-04-03
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多