在linux下crontab不执行原因排查

时间:2023-03-09 19:04:57
在linux下crontab不执行原因排查

一、开启cron日志

#检查是否已经开启 cron sudo service cron status  #cron start/running, process 23719  # 重启服务 cron sudo service cron restart   # 查找 /var/log/cron.log 日志文件 ,发现没有文件  ,开启crontab 日志   sudo vim /etc/rsyslog.d/50-default.conf   # 找到cron.log相关行,将前面注释符#去掉,保存退出,重启rsyslog:  sudo  service rsyslog  restart

  

二、查看日志

在/var/log目录下看到cron.log,vi cron.log就可以查看cron运行日志了。 如果在日志中能看到有这样的记录

Jan 23 12:55:01 iZbp12o440hd7llqz14ebpZ CRON[3990]: (root) MAIL (mailed 1 byte of output; but got status 0x00ff, #012) 这是一个很常见的错误

我们只需要在每条cron命令空一格后加上这几个字

>/dev/null 2>&1

  

比如我的一条命令

*/5 * * * * sh /var/xxx/xxx.sh >/dev/null 2>&1

  明确告知crob不需要事后发送邮件,然后
service cron restart
把cron重启一下即可

==========另外 检查一下系统时间 是否正确