Cara membuat skrip init.d startup

8

Saya hanya ingin menjalankan perintah yang sangat sederhana saat startup. Bagaimana saya bisa melakukan itu? Saya telah mencari di Google dan memiliki contoh yang sangat rumit, tetapi yang saya butuhkan hanyalah menjalankan skrip ini saat startup. Bagaimana saya bisa melakukan itu?

Naskah

./init.d/opscenter-agent start

sed
sumber

Jawaban:

8

Jika Anda ingin melakukan ini sebagai startup sistem (berbeda dengan ketika Anda masuk ke komputer Anda), masukkan perintah yang ingin Anda jalankan /etc/rc.local.

Lihat [Ubuntu] Menjalankan skrip saat startup dan shutdown .

Li-aung Yip
sumber
OP secara khusus meminta skrip init.d, yang sebenarnya bukan ini. Ini adalah pendekatan terkait, sebagian besar karena itu adalah cara kami melakukan hal-hal aneh 30 tahun yang lalu, dan kurang lebih tidak pernah melakukannya sekarang berkat pendekatan baru seperti init.d. (yang pada gilirannya ditinggalkan karena mendukung systemd's / etc / init).
mc0e
3

Jika skrip tidak perlu dijalankan oleh root, Anda dapat melakukan ini:

1) Buka "Preferensi Aplikasi Startup" ( Alt+ F2dan tempel gnome-session-propertiesdan tekan Enter),

2) Tekan "Tambah" dan pilih skrip Anda:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


Jika Anda tidak menggunakan lingkungan grafis, Anda dapat menempatkan perintah sebelum baris exit 0dalam file ini: /etc/rc.local. (Untuk mengeditnya cukup tempel di terminal sudo nano /etc/rc.local.

desgua
sumber
Tidak bagus karena saya menggunakan Putty untuk mengelola server Debian, tanpa GUI :)
sed
Anda dapat meletakkan perintah (atau tautan ke skrip Anda) di file ini:/etc/rc.local
desgua
Ini adalah alternatif dari skrip init.d yang diminta OP.
mc0e
1

Pendekatan /etc/rc.local akan 'menjalankan perintah yang sangat sederhana saat startup', tetapi ini bukan pendekatan skrip init.d, dan dalam berbagai cara lebih rendah. (Itu mungkin tidak masalah, tergantung pada tujuan Anda).

Tidak seperti skrip init.d, perintah rc.local tidak menawarkan antarmuka standar untuk memulai dan menghentikan suatu proses, dan mereka tidak menawarkan banyak kemampuan untuk mempengaruhi ketika dalam proses startup mereka dijalankan. Anda dapat melihat dalam /etc/init.d/rc.localskrip bahwa ini dijalankan setelah yang lainnya ( Required-Start: $all).

Jika skrip init.d benar-benar yang Anda inginkan, maka biasanya hanya mengambil skrip yang ada, menyalinnya dan mengeditnya berfungsi dengan baik, meskipun beberapa skrip yang ada memiliki kompleksitas lebih dari yang Anda inginkan. Karena itulah awal sebagian besar skrip init.d, ubuntu menyediakan /etc/init.d/skeleton untuk tujuan ini.

Juga patut dilihat:

  • /etc/init.d/motdadalah contoh minimal yang menjalankan sesuatu saat startup, tetapi dengan Required-Startpengaturan parameter kapan itu harus terjadi.
  • /etc/init.d/cronadalah titik awal yang sederhana untuk proses daemon (memberi atau mengambil parse_environmentfungsi, yang mungkin tidak Anda butuhkan).
mc0e
sumber