仅删除超过 7 天的文件:-mtime 并查找

Deh*_*hay 5 find

发现了一些类似的问题,但不太匹配。

我有一个用于备份 (sql) 的目录,并希望删除该目录中超过 7 天的所有文件,保留所有子目录完好无损。

这就是我所拥有的:

find /var/log/mbackups -mtime +7 -type f -delete
Run Code Online (Sandbox Code Playgroud)

这是完成我所追求的正确方法吗?

roa*_*ima 7

您的命令将查看顶级目录/var/log/mbackups并下降到任何子目录,删除符合 7 天标准的文件。它不会删除目录本身。

如果您希望命令仅查看/var/log/mbackups目录中的文件,而不是进入子目录,则需要添加该限制:

find /var/log/mbackups -maxdepth 1 -mtime +7 -type f -delete
Run Code Online (Sandbox Code Playgroud)

通常,您可以find通过用-delete无害的东西替换操作来测试命令,例如-print

find /var/log/mbackups -mtime +7 -type f -print
Run Code Online (Sandbox Code Playgroud)