我有以下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
然而我在执行日志中看到
a)EnvironmentFile = /etc/myservice/config
根本不考虑
b) 没有创建日志/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
如果您刚刚编写了单元文件,则在运行后)。