Fecify CRON不执行的原因
Fecify CRON不执行的原因
cron不执行,进行排查问题的步骤:
1.进入linux终端,执行crontab -e
如果出现下面的内容,则说明没问题
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/www/wwwroot/www.fecshop.cn/task
*/2 * * * * /usr/bin/flock -xn locks/processTask.lock -c '/bin/bash shell/processTask.sh >> logs/processTask.log 2>&1'
*/8 * * * * /usr/bin/flock -xn locks/noRecallOrderSendEmail.lock -c '/bin/bash shell/noRecallOrderSendEmail.sh >> logs/noRecallOrderSendEmail.sh 2>&1'
1 1 * * * /usr/bin/flock -xn locks/sitemap.lock -c '/bin/bash shell/sitemap.sh >> logs/sitemap.log 2>&1'
*/18 * * * * /usr/bin/flock -xn locks/order.lock -c '/bin/bash shell/order.sh >> logs/order.log 2>&1'
35 0 * * * /usr/bin/flock -xn locks/statistics.lock -c '/bin/bash shell/statistics.sh >> logs/statistics.log 2>&1'
55 1 * * * /usr/bin/flock -xn locks/feed.lock -c '/bin/bash shell/feed.sh >> logs/feed.log 2>&1'
58 */4 * * * /usr/bin/flock -xn locks/statisticsToday.lock -c '/bin/bash shell/statisticsToday.sh >> logs/statisticsToday.log 2>&1'
15 1 * * * /usr/bin/flock -xn locks/today.lock -c '/bin/bash shell/today.sh >> logs/today.log 2>&1'
*/5 * * * * /usr/bin/flock -xn locks/emailStrongRecall.lock -c '/bin/bash shell/emailStrongRecall.sh >> logs/emailStrongRecall.log 2>&1'
18 */4 * * * /usr/bin/flock -xn locks/affiliate.lock -c '/bin/bash shell/affiliate.sh >> logs/affiliate.log 2>&1'
*/20 * * * * /usr/bin/flock -xn locks/webhook.lock -c '/bin/bash shell/webhook.sh >> logs/webhook.log 2>&1'
*/15 * * * * /usr/bin/flock -xn locks/processMinute.lock -c '/bin/bash shell/processMinute.sh >> logs/processMinute.log 2>&1'
1 */2 * * * /usr/bin/flock -xn locks/processHour.lock -c '/bin/bash shell/processHour.sh >> logs/processHour.log 2>&1'
如果没有出现上面的内容,则需要手动加一下cron
- 文档:手动添加cron
- 参看该文档的 3.手动添加cron
2.如果第1步骤处理好了,cron还是不执行,则需要检查一下crond是否启动
2.1检查 cron 是否正在运行
systemctl status crond
正常情况应看到:
crond.service - Command Scheduler
Active: active (running)
异常情况:
inactive (dead)
failed
Unit crond.service could not be found
2.2如果没启动,立刻启动 cron
systemctl start crond
设置开机自启:
systemctl enable crond
再次确认:
systemctl status crond
3.异常处理(案例分析)
处理了一个案例,仅供参考!!!!
处理了一个案例,仅供参考!!!!
处理了一个案例,仅供参考!!!!
3.1
- 执行:
systemctl start crond - 返回:
Failed to start crond.service: Unit is masked.
3.2执行:
systemctl unmask crond
systemctl start crond
systemctl enable crond
systemctl status crond
返回错误信息
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2025-12-17 21:14:53 CST; 11s ago
Main PID: 31227 (code=exited, status=203/EXEC)
Dec 17 21:14:53 vultr.guest systemd[1]: crond.service: main process exited, code=exited, status=203/EXEC
Dec 17 21:14:53 vultr.guest systemd[1]: Unit crond.service entered failed state.
Dec 17 21:14:53 vultr.guest systemd[1]: crond.service failed.
crond无法启动
3.3修复
- 服务器是centos7
yum reinstall cronie -y
chmod +x /usr/sbin/crond
systemctl daemon-reload
systemctl unmask crond
systemctl start crond
最后执行:systemctl status crond
结果:
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-12-17 21:20:19 CST; 32s ago
Main PID: 31852 (crond)
CGroup: /system.slice/crond.service
└─31852 /usr/sbin/crond -n
Dec 17 21:20:19 vultr.guest systemd[1]: Started Command Scheduler.
Dec 17 21:20:19 vultr.guest crond[31852]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 93% if used.)
Dec 17 21:20:19 vultr.guest crond[31852]: (root.bak) ORPHAN (no passwd entry)
Dec 17 21:20:19 vultr.guest crond[31852]: (CRON) INFO (running with inotify support)
Dec 17 21:20:19 vultr.guest crond[31852]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
启动成功,等待几秒,查看task已经执行。
说明: 以上是处理的一个客户的案例,仅供参考!!!!