mas aqui está uma maneira simples de passar argumentos do seu cronômetro para sua unidade, e isso é usar modelos
exemplo
crie um serviço com @
i o nome
/etc/systemd/system/[email protected]
[Unit]
Description=test
[Service]
ExecStart=/bin/echo 'hello from %i'
o seu temporizador pode ser algo como
/etc/systemd/system/me.timer
[Unit]
Description=timer for me
[Timer]
OnUnitActiveSec=10s
OnBootSec=10s
[email protected]
[Install]
WantedBy=multi-user.target
você vê que agora o que quer que você passe depois que o @
se tornará %i
no seu arquivo de serviço. então agora você só
[~] sudo systemctl daemon-reload
[~] sudo systemctl start me.timer
[~] sudo systemctl status [email protected]
● [email protected] - test
Loaded: loaded (/etc/systemd/system/[email protected]; static; vendor preset: enabled)
Active: active (running) since Thu 2018-02-08 19:35:38 PST; 7ms ago
Main PID: 8899 (echo)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/system-me.slice/[email protected]
Feb 08 19:35:38 algx systemd[1]: Started test.
Feb 08 19:35:38 algx echo[8899]: hello from timer
se você quiser iniciar a unidade a partir do cli, é só dar outro parâmetro depois do @
[~] sudo systemctl start me@cli
[~] sudo systemctl status [email protected]
✘ ~ sudo systemctl status [email protected]
● [email protected] - test
Loaded: loaded (/etc/systemd/system/[email protected]; static; vendor preset: enabled)
Active: inactive (dead)
Feb 08 19:32:48 algx systemd[1]: Started test.
Feb 08 19:32:48 algx echo[8490]: hello from cli
Desta forma você tem uma clara distinção sobre o que é timer e o que é cli, mas você pode expandir isso para qualquer tipo de trigger ... você não mantém 2 arquivos unitários, mas você tem uma separação clara porque do ponto de vista do systemd são dois serviços diferentes.