![Cron 作业不断重新启动……?](https://linux22.com/image/518753/Cron%20%E4%BD%9C%E4%B8%9A%E4%B8%8D%E6%96%AD%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E2%80%A6%E2%80%A6%EF%BC%9F.png)
我设置了一个 cron 作业,每 12 小时更新一次 mysql 表。问题是这个 cron 作业每 15 分钟随机重新启动一次。它不会停止前一个作业,而是在其上运行。今天我检查时,发现有 13 个作业在做同样的事情。
发生了什么事?我在 Linux 服务器上,并在 cPanel 中设置了 Cron Job。任何帮助都将不胜感激。
答案1
您确定 cronjob 本身每 15 分钟执行一次吗?检查 cron 日志文件,看看您的 cronjob 是否确实每 15 分钟运行一次。cron 日志文件通常位于 /var/log/cron,也可能记录到 /var/log/messages。但是,您可能需要先在 /etc/syslog.conf(或 /etc/rsyslog.conf)中启用 cron 日志文件。
获取脚本的输出。在大多数系统中,默认情况下,此 cronjob 的任何输出都会通过电子邮件发送给 cronjob 的所有者。我更喜欢编写 cron 输出和将错误写入日志文件。将您的 cronjob 更改为如下形式:
0 0,12 * * * /usr/bin/wget lazysundays.com >> /var/log/wget.cron.log 2>&1
查看日志文件的输出,您应该会发现错误。
答案2
是否可能是 wget 超时并重新尝试、重新尝试、再次尝试?
给出 wget 参数--tries 1
以便它只尝试一次,添加到它--timeout=600
或这样 - 这样它就不会放弃得太快,并且在服务器脚本的顶部 - 添加一些内容以确保 php/pearl/其他任何内容不会在服务器端超时太快。