我想每 6 小时运行一次 cronjob,删除小于 200MB 的目录。我知道 dh 命令可以完成这项工作,但我不确定如何使用该命令。任何帮助都非常感谢。
答案1
find . -type d -size -200M
将返回每个小于 200MB 的目录,您也可以给出-maxdepth
参数以避免递归进入那些较小的目录。
要自动删除它们,请通过管道传输到 xargs,例如find . -type d -size -200M -maxdepth 1|xargs rm -rf
在实际将命令传递给 之前,请务必彻底测试rm
。没有“取消删除”或“垃圾”可以让你从中拉回内容!
答案2
要完成 Jakke 的回答,请打开 crontab:
crontab -e
并添加以下行:
0 */6 * * * command > /dev/null 2>&1
这command
将从 0 开始每六小时运行一次,相当于:
0 0,6,12,18 * * * command > /dev/null 2>&1
第一个 0 表示第一分钟到最后一分钟,如果您希望在第 i 分钟启动命令,可以更改它。
标准错误和标准输出都被重定向,以防止 cron 发送邮件。
这是crontab 手册关联。