Bagaimana cara saya mengatur layanan?

19

Saya memiliki skrip yang ingin saya jalankan sebagai layanan di headless box Ubuntu Server 11.04 saya. Yaitu, saya ingin memiliki file yang benar di bawah /etc/init.d/ dan untuk dapat mengendalikannya melalui serviceperintah.

Apakah ada panduan yang tersedia yang akan menunjukkan kepada saya bagaimana melakukan ini?

Kent Boogaart
sumber

Jawaban:

14

Kecuali jika Anda menggunakan 15,04 atau rilis yang lebih baru (yang menggunakan systemd), Anda mungkin akan lebih baik jika Anda mengubah skrip Anda menjadi pekerjaan pemula, daripada mengikuti contoh yang akan Anda temukan di /etc/init.d/(yang merupakan skrip init System V-style, Ubuntu dan distribusi lainnya pindah dari).

The Upstart Cookbook memiliki sejumlah besar informasi tentang bagaimana Upstart pekerjaan bekerja. Meskipun saya tidak akan menggambarkannya sebagai HOWTO, jika Anda menggabungkan informasi di sana dengan melihat melalui stok pekerjaan Ubuntu Upstart di /etc/init/Anda akan mulai mendapatkan gambar.

Saya sarankan mulai dengan bagian 4 dan 5 dari Cookbook, "Konsep dan Terminologi" dan "Konfigurasi"

Mark Russell
sumber
10

Berikut adalah contoh yang sangat sederhana cara membuat skrip pemula: https://wiki.frugalware.org/index.php/Upstart_Job_HOWTO

UPDATE: tautan di atas rusak. Berikut ini contoh skrip:

description "My startup service"
author "You or someone else"
version "3.14"

pre-start script
    echo 'Starting my service ...'
end script

start on net-device-up
stop on runlevel [!2345]

console output

respawn

exec /path/to/your/custom/script

Beradaptasi seperlunya.

Anda harus meletakkan skripnya /etc/init/yourfilename.conf

Kemudian muat ulang konfigurasi dengan:

sudo initctl reload-configuration

Dan jika semuanya baik-baik saja, Anda harus dapat memulainya dengan:

sudo start yourfilename
lenooh
sumber