Cron工作在特定时间开始和停止

时间:2010-12-14 22:50:01

标签: php cron

是否可以将cron作业设置为仅在晚上的某些日子工作,例如,每个月的第一天从晚上03点到晚上9点?

我希望只在晚上服务器负载较低时才开展电子邮件广告系列。

是否有可能在某个时间运行一个cron作业并在某个时间停止它?

4 个答案:

答案 0 :(得分:5)

您可以在晚上9点使用第二个cron作业启动第二个程序,告诉第一个程序终止。

有很多方法可以做到这一点。最简单的方法之一是让第二个程序在方便的位置触摸terminate.txt。在第一个程序的每个循环上,它可以检查此文件。如果它存在,它可以删除该文件并正常退出。

答案 1 :(得分:4)

将您的cron作业设置为每天在所需的时间运行。然后添加测试命令以检查它是否是该月的第一天。

  • 确保您的脚本仅处理某些工作,然后单独退出。
  • 确保脚本验证只有一个实例正在运行。

所以你的cron作业会是这样的:

* 15-20 * * * test `date +\%d` == 01 && script_name.sh

脚本将在下午3:00到8:59(包括)之间的每一分钟开始。

答案 2 :(得分:2)

不是真的。您可能会在六小时后设置一些内容终止正在运行的脚本,但这通常不是一个好的解决方案,因为您的脚本无法清理。

最好的办法是在达到时间限制时,从内部中清除退出。

答案 3 :(得分:1)

您可以安排cron在每月的第一天下午3点开始您的计划。你的程序必须在晚上9点自行解决。

http://en.wikipedia.org/wiki/Cron