Явный вызов службы systemd не учитывает EnvironmentFile

Явный вызов службы systemd не учитывает EnvironmentFile

У меня есть следующий systemdфайл модуля

$ 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

Я использую формат перенаправления для журналов, учитывая, что мой systemdдовольно старый ( 232)

Я хочу вызвать эту службу через, systemd runпоэтому я печатаю

sudo systemd-run myservice
Running as unit: run-rac9ffa945b374f2fa8a8273567427005.service

Однако в своих журналах выполнения я вижу, что

а) EnvironmentFile = /etc/myservice/configвообще не принимается во внимание

б) журналы не создаются/var/log/myservice/

Имеют ли эти вопросы какой-либо смысл?

решение1

systemd-runне запускает службу, указанную в /etc/systemd/system/myservice.service, она просто работает /usr/local/bin/myserviceво временном модуле, поэтому модуль называется run-rac9ffa945b374f2fa8a8273567427005.service, а не myservice.service.

Для запуска /etc/systemd/system/myservice.serviceиспользуйте systemctl start myservice.service(после запуска, systemctl daemon-reloadесли вы только что написали файл модуля).

Связанный контент