我想每150分钟运行一次cronjob。可能吗?任何提示将不胜感激。安排一个cronjob运行,每2个1/2小时
1
A
回答
2
0
通常你可以用一个做到这一点很容易夫妇分开crontab
条目,一个用于五个小时的工作,其他的在两者之间的工作:
0 0,5,10,15,20 ...
30 2,7,12,17,22 ...
牢记的是日之间的差距上一份工作一天,第二天的第一份工作只有一个半小时(2.5分不等于24分)。
如果你真的需要一两个和一个半小时的差距,你可以经常因为你需要,但只有执行负荷需要时所说的工作运行作业。
执行此操作的一种方法是使用状态文件来维护运行有效负载的最后时间,然后在一段合适的时间过后才运行有效负载。例如,该脚本只能运行有效载荷(最终echo
)每7秒钟,不管多久脚本被称为:
#!/bin/bash
# Configuration items.
stateFile=/tmp/lastTime.txt # File holding time of last payload run.
minGap=7 # How often payload should run (seconds).
# Get last payload run time (with checks for non-valid data).
((lastTime = 0))
[[ -f ${stateFile} ]] && lastTime="$(cat ${stateFile})"
[[ "${lastTime}" =~ [1-9][0-9]* ]] || ((lastTime = 0))
# Exit if not enough time elapsed, else update last payload run time.
thisTime=$(date +%s)
((timeGap = thisTime - lastTime))
[[ ${timeGap} -lt ${minGap} ]] && exit
echo ${thisTime} >${stateFile}
# This is the payload section, put whatever code you want here.
echo "[${lastTime}] [${thisTime}] [${timeGap}]"
假设你叫这个脚本runme.sh
,你可以测试一下:
while true ; do ./runme.sh ; sleep 1 ; done
这将运行它的每一秒,但你会发现有效载荷仅每7秒钟(除第一次外)完成的,如预期:
[0] [1503908311] [1503908311]
[1503908311] [1503908318] [7]
[1503908318] [1503908325] [7]
[1503908325] [1503908332] [7]
[1503908332] [1503908339] [7]
[1503908339] [1503908346] [7]
[1503908346] [1503908353] [7]
对于您的特定情况,您可以将minGap
设置为9000(两个半小时,以秒为单位),并且cron
根据的最大值运行脚本,该值等于间隔过去后您希望等待的时间量。
例如,假设您对潜伏五分钟的延迟感到满意(后续作业在前一作业之后的90到95分钟之间运行)。然后,您将设置cron
,以便脚本每五分钟运行一次。
相关问题
- 1. 安排一个windows服务每两小时运行一次
- 2. CronJob - 计划一项工作,立即开始每12小时运行一次
- 3. 每12小时运行一次javascript
- 4. 执行一个cronjob每分钟2次
- 5. 如何安排一个cron作业每一小时运行一次?
- 6. 你如何安排一个TFS 2008版本每小时运行一次?
- 7. 如何运行一个cronjob在特定时间范围内,每2分钟
- 8. Cronjob每小时运行一次,但不是在特定时间运行
- 9. 在heroku上运行每个cronjob的casperjs
- 10. cron命令每12小时运行一次
- 11. 在Windows上每小时cronjob
- 12. 如何为一个php文件安排一个cronjob?
- 13. 每个时区在12时运行cron作业
- 14. 构建一个12小时的时钟
- 15. 如何设置一个cronjob,每隔一个星期三运行5次?
- 16. 如何安排C#Windows服务每天运行一个方法?
- 17. 如何安排一个Java程序每天在Windows中运行?
- 18. 计划在每个小时运行一个宏
- 19. 在每个时区12点运行脚本
- 20. 火,每12小时的C#
- 21. 克朗触发器每小时运行一小时一小时
- 22. 每小时cronjob不必要的跳过
- 23. 我想做一个cronjob,以便它每秒运行一次python脚本
- 24. 每小时后自动运行一个php
- 25. php max_execution_time 30秒,但运行了一个脚本2小时
- 26. 如何安排一个cron作业,每隔两周运行一次
- 27. 运行脚本,每2个小时,在X模式的6倍,6倍,每24小时
- 28. OpenShift每小时关闭CRON每12小时
- 29. 在App Engine的某些日期每个小时安排一个cron作业执行
- 30. 当django服务器运行时每运行一个代码
我的不好。我的意思是每个** 150 **分钟。 – karmatic
将它安排为每两小时运行一次可能会更简单。 –