ฉันเพิ่งอัพเกรดจากเซิร์ฟเวอร์ Ubuntu ที่ 14 เป็นเวอร์ชั่น 15 ฉันมีปัญหาในการทำให้สคริปต์พุ่งพรวดทำงานหลังจากการอัพเกรดและอ่านว่า systemd เป็นค่าเริ่มต้นใหม่ ฉันอยู่ไกลจากผู้เชี่ยวชาญของ linux ดังนั้นโปรดไปกับฉันได้อย่างง่ายดาย :-)
นี่คือสิ่งที่สคริปต์พุ่งพรวดของฉันมาก่อน:
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
จากหน้าเริ่มต้นสู่หน้า systemd wikiฉันใช้ตารางที่จัดเตรียมไว้เพื่อจับคู่สิ่งต่าง ๆ ให้ใกล้เคียงที่สุดเท่าที่จะทำได้ในไฟล์บริการ systemd ใหม่ของฉัน:
[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]
ส่วนที่ขาดหายไป ฉันไม่สนใจ แต่ฉันไม่แน่ใจว่ามันจะส่งผลกระทบต่อความสามารถในการเริ่มต้นเวลาบูตหรือไม่