Tôi vừa nâng cấp từ máy chủ Ubuntu 14 lên phiên bản 15. Tôi gặp khó khăn khi tập lệnh khởi động của tôi hoạt động sau khi nâng cấp và đọc systemd là mặc định mới. Tôi ở xa một chuyên gia linux, vì vậy xin hãy dễ dàng với tôi :-)
Đây là những gì kịch bản mới nổi của tôi trước đây:
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
Dựa trên trang wiki mới bắt đầu , tôi đã sử dụng các bảng được cung cấp ở đó để ánh xạ mọi thứ gần nhất có thể trong tệp dịch vụ systemd mới của mình:
[Unit]
Description=NZBGet Service
[Service]
Type=forking
ExecStart=/usr/local/bin/nzbget -D
ExecStop=/usr/local/bin/nzbget -Q
Restart=on-failure
Tập tin này được đặt tại /home/robert/.config/systemd/user/nzbget.service
. Để bắt đầu dịch vụ theo cách thủ công, tôi đã và đang làm:
$ systemctl --user start nzbget
Điều này làm việc tuyệt vời. Tuy nhiên, khi tôi đăng xuất khỏi phiên SSH, dịch vụ sẽ tắt. Ngoài ra, nó không bắt đầu khi khởi động hoặc đăng nhập người dùng. Tôi muốn nó hoạt động giống như một dịch vụ mới bắt đầu: Tôi muốn nó bắt đầu lúc khởi động, chạy liên tục và như một người dùng cụ thể.
Tôi cần làm gì để có được cấu hình này?
systemctl enable
lệnh, điều này ban đầu không rõ ràng đối với tôi. Cũng cho phép tôi một số cảnh báo về một[Install]
phần bị thiếu . Tôi đã bỏ qua nó, nhưng tôi không chắc liệu nó có ảnh hưởng đến khả năng bắt đầu khi khởi động hay không.