5

CronJob 计划任务异常不执行的问题

 3 years ago
source link: https://zhiqiang.org/it/cronjob-failure.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

CronJob 计划任务异常不执行的问题

作者: 张志强

, 发表于 2019-07-25

, 共 821 字 , 共阅读 168 次

新服务器上遇到一个问题, CronJob 计划任务突然不执行,所有用户的任务都失效,之前定时任务执行时发送的邮件也没了。而且间续发作,准确说,每天白天有 14 小时左右不执行,比如从早上 8 点到晚上 10 点,但有时候是从早上 7 点到晚上 9 点。

一开始以为是时区或者对时任务造成的,但改了之后还是不行。当任务不执行之后,停止或重启cron service也不起作用。

执行命令systemctl status cron发现一个有趣的问题,它的结果类似于下面这个:

● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-07-24 09:34:46 CST; 23h ago
     Docs: man:cron(8)
 Main PID: 1336 (cron)
    Tasks: 11058 (limit: 11059)
    CGroup: /system.slice/cron.service
           └─1336 /usr/sbin/cron -f

我们发现Tasks后面的数据已经接近于 11059 的限制。然后我们检查其他的服务器,任务数都是个位数。

同时我们发现在CGroup下面有几个执行了好几天没有退出的僵尸任务。手工强行杀死这几个僵尸任务,再次检查systemctl status cron,发现Tasks的个数已经是 1 ,而且计划任务开始正常执行了!

还有检查 cron log :

sudo grep -i cron /var/log/syslog*

Q. E. D.

avatar-0.jpg

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK