방금 Ubuntu 서버 14에서 버전 15로 업그레이드했습니다. 업그레이드 후 upstart 스크립트가 작동하지 않고 systemd가 새로운 기본값임을 읽었습니다. 나는 리눅스 전문가와 거리가 멀다. 그래서 나에게 쉽게 가라. :-)
내 시작 스크립트가 이전에 있었던 것입니다 :
description "NZBGet upstart script"
setuid robert
setgid robert
start on runlevel [2345]
stop on runlevel [016]
respawn
expect fork
script
exec nzbget -D
end script
pre-stop script
exec nzbget -Q
end script
시스템화 된 wiki 페이지로 의 시작을 기반으로, 새로운 시스템 서비스 파일에서 가능한 한 밀접하게 매핑하기 위해 제공된 테이블을 사용했습니다.
[Unit]
Description=NZBGet Service
[Service]
Type=forking
ExecStart=/usr/local/bin/nzbget -D
ExecStop=/usr/local/bin/nzbget -Q
Restart=on-failure
이 파일은에 있습니다 /home/robert/.config/systemd/user/nzbget.service
. 서비스를 수동으로 시작하려면 다음을 수행했습니다.
$ systemctl --user start nzbget
이것은 잘 작동합니다. 그러나 SSH 세션에서 로그 아웃하면 서비스가 종료됩니다. 또한 부팅 또는 사용자 로그인시 시작되지 않습니다. 시동 서비스와 같은 방식으로 작동하기를 원합니다. 부팅시 시작하여 지속적으로 실행하고 특정 사용자로 실행하고 싶습니다.
이 구성을 얻으려면 어떻게해야합니까?
systemctl enable
명령에 서비스 파일 이름의 절대 경로를 지정해야 했지만 처음에는 명확하지 않았습니다. 또한 활성화하면 누락 된[Install]
섹션 에 대한 경고가 표시 됩니다. 무시했지만 부팅시 시작 기능에 영향을 줄지 잘 모르겠습니다.