我如何复制递归目录中仅具有属性 1 的文件,并将该属性重置为 0?谢谢,Francisco
答案1
attr
如果您想设置和获取扩展属性,您可能必须安装该包。
您可以用 shell 语言或更高级的语言编写脚本来进入目录并检查每个文件,复制符合条件的文件。我个人会使用 python。
通过使用 getfattr 命令,您可以检索用户的值。姓名您将自己定义为扩展属性。复制文件后,您可以通过执行 setfattr 命令来设置不同的值。
我没有看到 rsync 或 dump 有这个选项。据说 dump 会忽略带有d(非扩展)属性集。这些常规属性用 来设置chattr
,属性用 来检查lsattr
。这些命令还包括设置文件的版本,以防万一 可以用作您询问的位设置/清除的替代。我想您可以根据需要让版本在 0 和 1 之间交替。请参阅man chattr
和man lsattr
,特别是 -v 选项。
旧dump
命令似乎使用其自己的文件(/var/lib/dumpdates)来跟踪已备份的内容,以便可以增量备份,这可能是您要做的事情。
如果存在其他不涉及编程的方法,那么进一步了解您要实现的目标可能会有所帮助。