Saya baru saja memutakhirkan server dari Ubuntu 14.10 menjadi 15.04, dan beberapa layanan yang saya mulai melalui skrip pemula baru kustom tidak lagi berjalan.
Pemahaman saya adalah bahwa saya perlu menulis ulang mereka sebagai systemd
layanan, tetapi pemikiran mempelajari seluruh systemd
sistem dalam semalam agak menakutkan.
Skrip pemula baru diluncurkan autossh
saat startup, dan saya memiliki beberapa skrip serupa lainnya yang meluncurkan proses yang berjalan lama.
#/etc/init/autossh.conf
description "Maintain a permanent SSH tunnel to <other_server>"
start on started mountall
stop on shutdown
exec autossh -N other_server
Bagaimana saya bisa menulis ulang ini sebagai systemd
layanan?
Jawaban:
aturan pertama untuk bermigrasi ke systemd
Pada titik ini, pada tahun 2015, kemungkinan besar seseorang telah melakukannya.
systemd telah ada selama beberapa tahun. Dan telah ada seluruh industri rumahan orang menulis file unit dan menerbitkannya. GitHub, khususnya, tampaknya menarik repositori koleksi unit layanan.
Memang hanya mencari WWW untuk
autossh.service
(sebagai ungkapan) muncul:unit templat
Yang mengatakan, seperti yang saya tunjukkan di beberapa tempat di StackExchange saja, migrasi semacam ini bukan proses mekanistik, dan kadang-kadang hanya menerjemahkan secara robot dari apa pun yang ada pada satu unit file melakukan hal-hal yang salah, atau setidaknya buruk. Dalam hal ini,
autossh
terengah-engah positif untuk ditangani dengan unit template , yang akan dipakai menjadi unit layanan aktual, parameter oleh nama target. Jadi/etc/systemd/system/[email protected]
, miliki:Buat file
/etc/autossh/other_server.example.conf
dengan nama , minimal:Semua kontrol yang biasa kemudian berlaku:
systemctl enable autossh@other_server.example
- Mengaktifkan instance untuk dimulai secara otomatis saat bootstrap.systemctl start autossh@other_server.example
- Mulai secara manual dengan segera.systemctl status autossh@other_server.example
- Lihat statusnya.Dan ya, aturan pertama bahkan berlaku untuk ini. Mencari, orang dapat menemukan bahwa saya telah dipukuli oleh ini, hanya di bawah dua minggu, oleh Greg Freemyer di OpenSUSE.
sumber