Saya menggunakan Ubuntu 12,04 LTS dan sistem ini terutama menggunakan pekerjaan pemula. Sayangnya sistem saya juga tergantung pada server dbmail yang dikompilasi secara manual , yang hanya memiliki skrip init, tetapi tidak ada skrip pemula.
Menggunakan update-rc.d dbmail defaults
saya menginstal dbmail untuk semua runlevel, tetapi sayangnya itu dimulai sebelum MySQL, sehingga daemon mati lagi. Saya juga mencoba memindahkannya ke S90 atau sejenisnya, masih MySQL tidak tersedia ketika skrip dijalankan.
Saya mencoba menambahkan ketergantungan pada header skrip LSB, sebagai berikut:
#!/bin/sh
### BEGIN INIT INFO
# Provides: dbmail
# Required-Start: $local_fs $remote_fs $syslog $network mysql
# Required-Stop: $local_fs $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start dbmail services
# Description: Run network services provided by dbmail such as
# imap-server, pop3-server, lmtp-server, timsieve-server
### END INIT INFO
Sayangnya skrip ini tampaknya masih dimulai sebelum MySQL. Saya sudah terbiasa dengan skrip init lama, bukan untuk memulai pekerjaan, jadi saya sedikit bingung di sini. Bagaimana saya bisa menambahkan ketergantungan atau bagaimana saya bisa mendapatkan mysql
pekerjaan untuk memulai sebelum dbmail
skrip init?
Bagaimana saya bisa memeriksa / melihat perintah mulai diambil untuk skrip pekerjaan + init saat boot? Apakah ada alat untuk ini?
Meluncurkan skrip secara manual dari shell setelah startup berfungsi dengan baik, karena MySQL sudah berjalan saat itu.
sumber
Jawaban:
Saya pikir jika Anda lari
/etc/init.d/dbmail start
dari/etc/rc.local
, itu akan mulai setelah semua pekerjaan pemula Anda / skrip init lainnya.Namun, saya mungkin akan memperbaikinya dengan menambahkan pekerjaan baru di
/etc/init/dbmail.conf
. Biasanya skrip init.d memiliki banyak kode untuk memeriksa status, dll., Yang baru ditangani oleh Anda. Mungkin sesederhana:Atau, Anda mungkin dapat menggunakan skrip init yang ada seperti ini:
sumber