WTF?我的cronjob没有运行?
以下是调试不运行cronjobs的清单指南:
> Cron守护进程是否运行?
>运行ps ax | grep cron并寻找cron。
> Debian:服务cron启动或服务cron重新启动
cron是否工作?
> * * * * * / bin / echo“cron works”>> /文件
>语法正确?见下文。
>命令是否独立运行?
>通过在CLI上执行干式运行,检查脚本是否有错误
>在测试您的命令时,测试作为您正在编辑的crontab的用户,这可能不是您的登录名或根目录
可以cron运行你的工作吗?
>检查/var/log/cron.log或/ var / log / messages是否有错误。
> Ubuntu:grep CRON / var / log / syslog
Redhat:/ var / log / cron
>检查权限
>在命令中设置可执行标志:chmod x /var/www/app/cron/do-stuff.php
>如果将命令的输出重定向到文件,请验证您是否有权写入该文件/目录
>检查路径
>检查she-bangs / hashbangs行
>不要依赖环境变量(如PATH),因为它们的价值可能与cron下的交互式会话不一样
>调试时不要抑制输出
>常用的是这种抑制:30 1 * * *命令> / dev / null 2>& 1
>重新启用标准输出或标准错误消息输出
还是行不通?哎呀!
>提高cron调试级别
> Debian
> / etc / default / cron
>设置EXTRA_OPTS =“ – L 2”
>服务cron重启
> tail -f / var / log / syslog来查看执行的脚本
> Ubuntu
> /etc/rsyslog.d/50-default.conf
添加或注释行cron.crit /var/log/cron.log
> reload logger sudo /etc/init.d/rsyslog reload
>重新运行cron
>打开/var/log/cron.log并查找详细的错误输出
>提醒:当您完成调试时,停用日志级别
>运行cron并再次检查日志文件
Cronjob语法
# Minute Hour Day of Month Month Day of Week User Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
0 2 * * * root /usr/bin/find
Crontab命令
> crontab -l
>列出所有用户的cron任务。
> crontab -e,针对特定用户:crontab -e -u agentmith
>开始编辑crontab文件的会话。
>退出编辑器时,修改后的crontab将自动安装。
> crontab -r
>从cron假脱机程序中删除您的crontab条目,但不能从crontab文件中删除。