
Eu tenho o seguinte systemd
arquivo de unidade
$ cat /etc/systemd/system/myservice.service
[Unit]
Description = My Service
[Service]
ExecStart = /bin/sh -c 'exec /usr/local/bin/myservice [arguments] >>/var/log/myservice/log.log 2>>/var/log/myservice/err.log'
EnvironmentFile = /etc/myservice/config
User = someuser
Group = somegroup
[Install]
WantedBy = multi-user.target
Estou usando o formato de redirecionamento para logs visto que meu systemd
é bem antigo ( 232
)
Quero invocar este serviço, systemd run
então estou digitando
sudo systemd-run myservice
Running as unit: run-rac9ffa945b374f2fa8a8273567427005.service
No entanto, vejo em meus logs de execução que
a) EnvironmentFile = /etc/myservice/config
não é levado em consideração
b) nenhum log é criado em/var/log/myservice/
Essas questões fazem algum sentido?
Responder1
systemd-run
não inicia o serviço especificado em /etc/systemd/system/myservice.service
, apenas roda /usr/local/bin/myservice
em uma unidade transitória, é por isso que a unidade é chamada run-rac9ffa945b374f2fa8a8273567427005.service
, não myservice.service
.
Para executar /etc/systemd/system/myservice.service
, use systemctl start myservice.service
(depois de executar systemctl daemon-reload
se você acabou de escrever o arquivo da unidade).