我想使用upstart在两个小时之间运行脚本:
这是我的暴发户:
author "bakka"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
script
H_BEGIN="905"
H_END="2330"
H_NOW=$(date +%k%M)
if [[ ${H_NOW} -gt ${H_BEGIN} && ${H_NOW} -lt ${H_END} ]]; then
exec my_python_script
fi
end script
但是,即使我删除了“在运行级别[2345]上启动”,它似乎也没有采取这种条件。
我已经在这里查看了:http://upstart.ubuntu.com/faq.html#replace-cron
您将只能在特定时间运行服务, 或特定日期等 引用
但这还不是很清楚。
如果有人知道如何通过upstart来指定启动某个事物的时间,那将是很好的。
答案 0 :(得分:0)
这从来没有作为新贵的一部分来实现。我建议结合使用非常简单的工具snooze和新贵。这就是我运行cron的方式。{{每小时,每日,每周,每月}脚本在空白linux上运行。
对于您的特定情况,在9:00开始工作,在23:30停止工作,您将使用以下三个工作:
description "start my service if it is after 9:00 but before 23:30"
emits start-myservice
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec snooze -H9 -s870 -- initctl emit start-myservice
description "stop my service if it is after 23:30 but before 9:00"
emits stop-myservice
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec snooze -H23 -M30 -s570 -- initctl emit stop-myservice
description "my service"
start on start-myservice
stop on stop-myservice
respawn
exec my_python_script