Systemd вместо cron, с отслеживаниемLinux

Anonymous
Systemd вместо cron, с отслеживанием

Сообщение Anonymous »

Я пытаюсь создать службу systemd + таймер. На данный момент получил вот это:
В эксплуатации:

Код: Выделить всё

[Unit]
Description=Filewriter Service
Wants=filewriter.timer
After=network-online.target

[Service]
Type=simple
ExecStart=/home/ubuntu/filewriter.sh
WorkingDirectory=/home/ubuntu
Restart=on-failure
RestartSec=10
RuntimeMaxSec=600s
и в коде таймера:

Код: Выделить всё

[Unit]
Description=Filewriter Timer
Requires=filewriter.service

[Timer]
OnCalendar=22:13:00
Persistent=true

[Install]
WantedBy=timers.target
Проблема в том, что если служба Filewriter Service ведет себя неправильно, она остановится и вернет -1. Затем служба Filewriter перезапустит службу, но кажется, что каждый раз при ее перезапуске RuntimeMaxSec не соблюдается. Итак, если служба возвращает -1 каждый, например. 5 секунд, и он будет работать вечно. Можно ли как-то заставить его работать 600 секунд с первого запуска?
Теперь, даже если это сработает, проблема в том, что у меня есть служба, которая должна работать 10 минут с момента запуска. 22:13:00, но если компьютер будет перезапущен между ними, он не запустится повторно. Как заставить его работать, если перезапуск происходит в 22:15:00 и в это время он должен работать не 600 секунд, а до 22:23:00 (то есть 600сек = 10 минут с 22:13: 00) ?

Подробнее здесь: https://stackoverflow.com/questions/792 ... h-tracking

Вернуться в «Linux»