我想从 中排除符号链接rsync
,但每个链接--no-links
都充斥着我的终端skipping non-regular file
,从而将焦点从 中的其他重要信息中转移出来rsync
。
如何排除链接而不被每个单独的事件困扰?以下是不可接受的解决方案:
- 使用该
-q
选项,因为这会抑制全部输出来自rsync
- 过滤消息
grep
- 仔细更改链接周围的包含文件并不是一个好的选择。
如果这是不可能的(看起来可能是这样):为什么跳过非常规文件被认为如此重要,以至于即使用户指定要排除它们,也会明确警告用户有关其中的每一个文件?我很想把这个问题当作是开发商的问题。
答案1
如果您不想看到有关的消息任何--info=skip0
跳过的文件,如果您的版本rsync
不太旧,则可以使用。
如果您不想看到跳过的符号链接上的消息,但是做如果跳过任何其他文件,则需要消息,那么不幸的是,rsync
输出控制选项似乎对此不够细粒度。
请参阅参考资料rsync --info=help
中可以在输出中调整的内容列表rsync
。
答案2
您可以用于--files-from
定义要同步的文件列表,并用于find
排除符号链接:
rsync --files-from=<(find . ! -type l -print) . TARGET/
答案3
尝试在命令后添加以下内容rsync
:
| grep -v "skipping non-regular file"
如果这些是唯一生成这些消息的东西,它将过滤它们。"^skipping"
如果它位于行的开头,您甚至可以执行 a 。