删除早于 X 天的文件 - mtime、ctime 和 atime 不起作用

删除早于 X 天的文件 - mtime、ctime 和 atime 不起作用

我正在 Synology (NAS) 上运行一个脚本,该脚本正在删除某些文件夹中超过 x 天的文件。

问题是我希望这些文件在上传到文件夹 X 天后被删除。

所以我想到使用ctime、mtime或atime,但问题是这些都是基于文件更改时间、文件修改时间或文件访问时间。访问时间对我不起作用,修改时间也不起作用,因为我在 Synology 上上传的文件从 Windows“导入”修改文件时间(有时非常旧的时间)。

有谁知道解决方案吗?

答案1

由于您无法使用任何文件时间戳,因此必须使用另一种方法。这些是常见的替代方案:

  • 使用命名约定(将时间戳嵌入文件名或目录名中),或者
  • 将时间戳存储在相关文件中,例如同一目录中的隐藏文件(点文件),可以使用脚本进行检查
  • 维护一个记录文件上传日期的数据库,并用它来控制文件何时过期

相关内容