таймер systemd для цели, которая вызывает шаблон службы - PullRequest
0 голосов
/ 13 июля 2020

У меня есть шаблон systemd, load@.service определяется как:

[Unit]
Description=load script
Wants=network-online.target
After=network-online.target
PartOf=load.target

[Service]
Type=simple
ExecStart=/usr/bin/python3 load -d %i
User=root

[Install]
WantedBy=default.target

Мне нужно запустить четыре разных экземпляра этого скрипта с разными параметрами для -d, поэтому я настроил load.target определяется как:

[Unit]
Description=dataloader.load workers
Wants=load@1.service load@2.service load@3.service load@4.service

[Install]
WantedBy=multi-user.target

Я хочу, чтобы каждый из четырех экземпляров запускался каждые 10 минут.

Как мне настроить таймер systemd для вызова .target через определенный интервал?

1 Ответ

0 голосов
/ 14 июля 2020

Вы можете создать единицу таймера load@.timer, определенную как:

[Unit]
Description=Run load@.service every 10 minutes

[Timer]
OnCalendar=*:0/10
AccuracySec=1us

И изменить load.target, чтобы вызывать единицы .timer вместо .service единиц:

[Unit]
Description=dataloader.load workers
Wants=load@1.timer load@2.timer load@3.timer load@4.timer

[Install]
WantedBy=multi-user.target
...