需要将文件从一个文件夹复制到另一个文件夹,然后触摸每个文件以复制访问/修改时间

需要将文件从一个文件夹复制到另一个文件夹,然后触摸每个文件以复制访问/修改时间

我不能使用 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 备份

相关内容