сценарий запуска upstart между определенным временем - PullRequest
0 голосов
/ 15 ноября 2018

Я бы хотел запустить скрипт между двумя часами, используя upstart:

  • начало в 9:00
  • остановка в 23:30

Это мой выскочка:

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

но, похоже, оно не отвечает условиям, даже если я убрал «start on runlevel [2345]»

Я уже посмотрел здесь: http://upstart.ubuntu.com/faq.html#replace-cron

У вас будет возможность запустить службу только в определенное время, или в определенные дни и т. д. Blockquote

Но это не совсем ясно.

Если кто-то знает, как указать промежуток времени для запуска чего-либо с помощью upstart, было бы неплохо.

1 Ответ

0 голосов
/ 24 ноября 2018

Это никогда не было реализовано как часть выскочки.Я бы предложил использовать очень простой инструмент snooze в сочетании с upstart.Вот как я запускаю свои cron. {Почасовые, ежедневные, еженедельные, ежемесячные} сценарии в void 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
...