首页 > 解决方案 > Rsync:跳过设置了粘性位的文件

问题描述

我在 Linux 上备份一个 ext4 磁盘,其中一些文件的长度为零并且这些有趣的权限:

---------T。2 myuser mygroup 0 Mar 5 2019 文件名

据我了解,它们是在该磁盘上运行的先前 glusterfs 的剩余部分,并且可以在复制数据时安全地跳过。但是 rsync 给了我这个通用错误,可能是因为缺少读取权限:

rsync:send_files 无法打开“文件名”:权限被拒绝 (13)

如何根据粘性位集告诉 rsync 跳过这些文件?我想将这些与文件权限的其他可能问题区分开来。

标签: file-permissionsrsync

解决方案


rsync 似乎没有专门处理这种情况的任何东西,但是您可以做的是find预先构造一个要排除的文件列表。例如:

find dir -type f ! -perm /777 >list
rsync -a --exclude-from=list dir destdir

-perm /777查找在模式 777 中设置了至少一位的文件,并!否定它。


推荐阅读