发现了一些类似的问题,但不太匹配。
我有一个用于备份 (sql) 的目录,并希望删除该目录中超过 7 天的所有文件,保留所有子目录完好无损。
这就是我所拥有的:
find /var/log/mbackups -mtime +7 -type f -delete
Run Code Online (Sandbox Code Playgroud)
这是完成我所追求的正确方法吗?
您的命令将查看顶级目录/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)