我不能使用 cp -p,因为它还会复制我不想要的用户,而且 --preserve 不起作用,因为 AIX 显然不支持该选项?我收到错误。无论如何,我只想执行以下操作:
cp /folder/file/* /newfolder/file/*
然后对每个文件使用 touch -r 复制修改/访问时间。
我很不擅长编写脚本,因此非常感谢您的帮助。
答案1
虽然我不熟悉 AIX,但它似乎支持 rsync,https://www.ibm.com/developerworks/aix/library/au-rsyncfamily/index.html。因此无需重新发明轮子,使用rsync
-t 选项即可保留修改时间。请参阅页面https://linux.die.net/man/1/rsync
请注意,我会避免使用-a
存档选项,因为它包含太多属性,它会为您复制。因此,您可以使用类似rsync -rltvx /folder/file /newfolder
如果您打算将其用作备份解决方案,那么您需要考虑如何处理故意在源端删除的文件和意外删除的文件。默认情况下,rsync
不会删除源或目标中的任何文件。您可以指示它删除目标中源中不存在的文件,从而创建源的镜像。但是,如果这是您数据的唯一副本,您将无法防止意外删除。还有一个问题是,如果源文件以某种方式损坏,这可能会在您意识到之前镜像到副本,您又会陷入麻烦。
虽然我见过(但从未使用过)一些帖子,比如这个在使用 rsync 创建硬链接系统来创建包含多个数据“快照”的重复数据删除备份存储库时,我个人更喜欢功能更丰富的备份解决方案,例如Borg 备份