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