我发现这个bash脚本在线,我想用它来删除超过2天的文件:
#!/bin/bash
find /path/to/dir -type f -mtime +2 -exec rm {} \;
我设置了一个cronjob来运行脚本(我提前几分钟进行测试,但它应该每24小时运行一次)
54 18 * * * /path/to/another/dir/script.sh
我退出正确,以便更新cronjob。
为什么不删除目录中的文件?
答案 0 :(得分:1)
如果尝试在脚本末尾转储回显并记录输出
,该怎么办?cron1.sh >> /var/log/cron1.log
你可以尝试这个,但我不确定它会起作用
--exec rm -rf {}
答案 1 :(得分:0)
大多数cron作业没有设置PATH。您必须完全限定find命令。
#!/bin/bash
/usr/bin/find /path/to/dir -type f -mtime +2 -exec rm {} \;
如果按照damienfrancois的建议捕获stdout和stderr,您可能会看到消息“command not found:find”。如果你没有捕获stdout和stderr,cron通常会将输出发送到cron作业所有者的电子邮件,除非配置为不这样做。