是否可以将cron作业设置为仅在晚上的某些日子工作,例如,每个月的第一天从晚上03点到晚上9点?
我希望只在晚上服务器负载较低时才开展电子邮件广告系列。
是否有可能在某个时间运行一个cron作业并在某个时间停止它?
答案 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点自行解决。