Перейти к содержимому

Linux — Запуск приложения / скрипта с задержкой, после перезагрузки

Периодически возникают ситуации, когда необходимо запустить скрипт или приложение с задержкой спустя некоторое время после включения / перезагрузки системы. Есть несколько способов, можно использовать crontab или systemd.

Отложенный запуск — CRONTAB

Здесь достаточно открыть на редактирование crontab:

Указать путь к скрипту / приложению использовав параметры @reboot + sleep:

Из листинга ясно, что по таймауту в 10 секунд произойдет запуск скрипта check-service.sh

Отложенный запуск — SYSTEMD

Здесь можно использовать systemd таймер + systemd юнит, для начала создадим тестовый скрипт, который будет складывать в лог дату и время в момент своего запуска:

Тестовый скрипт можно разместить куда угодно, например в /tmp и разрешить его выполнение:

Создать юнит для запуска скрипта:

С содержимым:

Теперь наступило время таймера, смотрим какие есть в принципе:

Создаем свой:

С содержимым:

Где тймаут запуска 3 минуты, после чего необходимо обновить конфигурацию systemd:

Далее с целью эксперимента выключаем тестовый сервис:

Включаем таймер:

Проверка

Перезагружаем систему, смотрим состояние таймера:

Видно, что до запуска осталось 2 минуты 27 секунд, проверяем список таймеров:

Далее, по факту отведенного времени проверяем лог:

Опубликовано вLinux

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *