我的一个cronjobs每天发送一封电子邮件
35 6 * * * cd $EZPUBLISHROOT && $PHP runcronjobs.php -q 2>&1
我使用
停止了cronsudo service cron stop
当我检查cron状态时
sudo service cron status
是cron stop/waiting
问题是我昨天停止了我的crons,但今天也发了电子邮件
我做错了吗
1.how to stop all cron jobs properly
2.how to view last ran cronjob list .
我试图通过
获得最后一次运行cronob的详细信息grep cron /var/log/syslog
但它是空的,但是当我转到syslog
文件时,我可以在某些地方看到CRON
这个词。
Aug 12 09:10:01 64177 CRON[6388]: (root) CMD (cd /var/www && /usr/bin/php runcronjobs.p......
当我尝试输入
时ps -ax | grep cron
5696 pts/3 S+ 0:00 grep --color=auto cron
13011 ? Ss 0:00 cron l
在我停止了cron工作后,它是否可以运行crons?
感谢advnace
答案 0 :(得分:3)
通常您可以使用以下命令访问crontab:
crontab -l (lists cronjobs)
并编辑:
crontab -e
暂时停止cronjob你通常可以只注释掉第一个数字:
# 35 6 * * * cd $EZPUBLISHROOT && $PHP runcronjobs.php -q 2>&1
永久不再运行cronjob只删除特定的作业。 crontab通常在您编辑后自动重新启动。如果没有尝试使用:
sudo restart cron
答案 1 :(得分:3)
正确的做法是将每个工作或每组工作都放在他们自己的命名空间中。 / file:
/etc/cron.d/production-job-mail-on-delivery
/etc/cron.d/production-aggregate-account-data
/etc/cron.d/devel-job-mail-on-delivery
/etc/cron.d/system-cleanup-sundy
/etc/cron.d/common-mailings
如果要停止,只需将这些文件移出/etc/cron.d/
文件夹即可。
您不应该停止使用cron服务,并且不应该在更大的系统上使用crontab
/ /etc/crontab
。
为什么?
例如,我在一个系统上有200个cronjobs。 /etc/crontab
文件变得非常混乱。例如,一些工作需要停止一周,其他工作需要永久运行。使用cron.d
文件夹这是一项非常简单的任务。
答案 2 :(得分:2)
这样做的简单方法是通过crontab -e评论cronjob:
#35 6 * * * cd $EZPUBLISHROOT && $PHP runcronjobs.php -q 2>&1
除此之外,您应该配置运行cronjob的频率的时间。
停止进程
ps|aux grep runcronjobs
并且在获得正在运行的进程列表之后,您可以使用其编号
来终止进程kill *number