在 Shell 脚本中按日期删除

在 Shell 脚本中按日期删除

我有一个创建数据库备份的 shell 脚本。我想保留最近 7 天的文件。

按日期删除目录中的文件需要什么语法,或者我可以在目录中保留最新的 7 个文件吗?

脚本通过 cron 运行

编辑:类似这样的东西?

find -type f -mtime +7 -maxdepth 1 -exec rm -f {} \;

答案1

您可以使用find /path/to/backups -type f -mtime +7 -maxdepth 1,这将找到所有超过 7 天的文件,然后您可以将其删除。

答案2

find /path/to/backups -type f -mtime +7 -maxdepth 1 -delete

您的想法exec也可以使用,但您仍然需要备份目录的路径,并且您的想法exec不太正确。它可能是

find /path/to/backups -type f -mtime +7 -maxdepth 1 -exec rm -f {} \;

另外,我不确定你是否需要这个-maxdepth选项;您是否担心进入子目录?我在你的问题中没有看到任何相关内容。

相关内容