Как приостановить и возобновить работу экрана в течение указанного периода времени (расписание)

я использую команду linux screenдля выполнения фонового скрипта на моем сервере. Скрипт должен запускаться каждый день, но в течение определенного диапазона времени (с 7:00 до 21:00). На данный момент я вручную выхожу из экрана (используя ctrl+c , а затем команду exit ) каждый день в 9 вечера и пересоздание экрана (используя экран -S <ИМЯ>) в 7 утра следующего дня.

Есть ли способ сделать экран «автоматически» спать с 9 вечера до 7 утра? (Так что мне не нужно каждый день вмешиваться вручную.)

0
28.06.2020, 10:19
1 ответ

Я бы не стал использовать экран, но если вы настаиваете, вы можете сделать это так:

0 7 * * * some_user sh -c 'screen -d -m -S 7to9am -s /usr/local/bin/the_script.sh ; sleep 2h ; screen -X -S 7to9am quit'

В конце/etc/crontab

Правильный способ сделать это без экрана:
0 7 * * * some_user timeout 2h /usr/local/bin/the_script.sh

1
18.03.2021, 23:24

Теги

Похожие вопросы