【问题标题】:Do not show directories in rsync output不要在 rsync 输出中显示目录
【发布时间】:2012-01-24 17:41:00
【问题描述】:

有人知道是否有 rsync 选项,因此被遍历的目录不会显示在标准输出上。

我正在同步音乐库,大量的目录使得很难看到实际发生了哪些文件更改。 我已经尝试过 -v 和 -i,但两者都显示目录。

【问题讨论】:

    标签: command-line rsync


    【解决方案1】:

    我很想通过管道过滤使用 grep -E -v '/$' ,它使用行尾锚来删除以斜杠(目录)结尾的行。

    这是我检查过的演示终端会话...

    cefn@cefn-natty-dell:~$ mkdir rsynctest
    cefn@cefn-natty-dell:~$ cd rsynctest/
    cefn@cefn-natty-dell:~/rsynctest$ mkdir 1
    cefn@cefn-natty-dell:~/rsynctest$ mkdir 2
    cefn@cefn-natty-dell:~/rsynctest$ mkdir -p 1/first 1/second
    cefn@cefn-natty-dell:~/rsynctest$ touch 1/first/file1
    cefn@cefn-natty-dell:~/rsynctest$ touch 1/first/file2
    cefn@cefn-natty-dell:~/rsynctest$ touch 1/second/file3
    cefn@cefn-natty-dell:~/rsynctest$ touch 1/second/file4
    
    cefn@cefn-natty-dell:~/rsynctest$ rsync -r -v 1/ 2
    sending incremental file list
    first/
    first/file1
    first/file2
    second/
    second/file3
    second/file4
    
    sent 294 bytes  received 96 bytes  780.00 bytes/sec
    total size is 0  speedup is 0.00
    
    
    cefn@cefn-natty-dell:~/rsynctest$ rsync -r -v 1/ 2 | grep -E -v '/$'
    sending incremental file list
    first/file1
    first/file2
    second/file3
    second/file4
    
    sent 294 bytes  received 96 bytes  780.00 bytes/sec
    total size is 0  speedup is 0.00
    

    【讨论】:

    • 我自己也得出了同样的结论。 rsync 没有开关来执行此操作似乎很愚蠢。感谢您的建议!
    【解决方案2】:

    如果您在 rsync 命令中使用 --delete,调用 grep -E -v '/$' 的问题是它会省略以下信息行:

    deleting folder1/
    deleting folder2/
    deleting folder3/folder4/
    

    如果您正在备份并且远程文件夹因 X 原因被完全清除,它也会清除您的本地文件夹,因为您看不到删除行。

    要省略已经存在的文件夹但同时保留删除行,您可以使用此表达式:

    rsync -av --delete remote_folder local_folder | grep -E '^deleting|[^/]$'
    

    【讨论】:

    • 好答案。对于文件同步,我喜欢在运行命令之前进行试运行,所以我使用-n 选项。为了便于阅读,我修改了 grep 正则表达式以包含空行 rsync -av --delete remote_folder local_folder | grep -E '^deleting|[^/]$|^$'
    • 我还在grep 命令中添加了--color=never,以避免不必要地突出显示匹配的字符。
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 2020-04-07
    • 1970-01-01
    • 2017-12-21
    • 2017-05-28
    • 1970-01-01
    相关资源
    最近更新 更多