KeyWeb
1111111111Rating 2.60 (5 Votes)
Есть такая замечательная штука, как systemd.timer функционал которого можно использовать как альтернативную замену cron. Используя systemd таймер можно выполнять скрипты, какие то задачи по расписанию и т.п.. Для примера я создал скрипт, который отправляет сообщение в /var/log/messages
nano /usr/local/bin/my-timer
С текстом:
#!/bin/bash
DATE=`date`
logger "Hi from timer script $DATE"
Выполнив скрипт, мы увидим в логах сообщение:
tail -f -n 1 /var/log/messages
May 17 21:52:55 localhost: Hi from timer script Wed May 17 21:52:55 MSK 2017

Отложенный запуск скрипта + интервал запуска

Ок, теперь создадим сервис и таймер, который будет запускать скрипт спустя минуту после загрузки компьютера и далее с интервалом каждую минуту. Необходимо создать service файл:
nano /etc/systemd/system/my-timer.service
С кодом:
[Unit]
Description=MyTimer

[Service]
Type=simple
ExecStart=/usr/local/bin/my-timer
И файл таймера:
nano /etc/systemd/system/my-timer.timer
С кодом:
[Unit]
Description=Runs my-timer every minute

[Timer]
# Run after booting one minute
OnBootSec=1min
# Run every one hour or one munite
# OnUnitActiveSec=1h
OnUnitActiveSec=1min
Unit=my-timer.service

[Install]
WantedBy=multi-user.target
Включаем и запускаем таймер:
systemctl enable my-timer.timer
systemctl start my-timer.timer
Смотрим статус:

systemctl status my-timer.timer
● my-timer.timer - Runs my-timer every minute
Loaded: loaded (/etc/systemd/system/my-timer.timer; enabled; vendor preset: disabled)
Active: active (waiting) since Wed 2017-05-17 21:38:28 MSK; 19min ago

May 17 21:38:28 localhost.localdomain systemd[1]: Started Runs my-timer every minute.

 Проверяем логи, радуемся :)

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


Обновить
Защитный код

KeyWeb

Сейчас 182 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз