我有一个压缩日志文件的 crontab。
在 crontab -e
我有 -I'm root-:
5 3 * * 6 find /toMyLogs -name "access*" -a ! -name '*.bz2' -ctime +7 -exec bzip2 -zv {} \;
35 3 * * 6 find /toMyLogs -name "error*" -a ! -name '*.bz2' -ctime +7 -exec bzip2 -zv {} \;
日志示例如下:
$ ls -la /toMyLogs
-rw-r--r-- 1 root root 33317 Jul 2 19:04 error_1.log.2012-07-02
-rw-r--r-- 1 root root 12928 Jul 3 08:55 error_2.log.2012-07-03
如果我手动执行命令,这是:
find /toMyLogs -name "access*" -a ! -name '*.bz2' -ctime +7 -exec bzip2 -zv {} \;
它有效,但在 cron 中无效。我用示例文件(不是日志)做了一些小型测试,然后运行了 cron。 有效。因此,cron 确实在运行。
你知道发生了什么事吗?权限还是时间?
最佳答案
当您运行 cron 时,环境设置不同。很有可能cron使用的PATH没有找到bzip2程序。
关于shell - Cron 不执行。脚本工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11312043/