judulnya cukup meringkasnya.
bagaimana cara menambahkan startup.sh dan shutdown.sh dari aplikasi server saya ke urutan startup dan shutdown dari OS Debian?
Pada Debian, skrip boot servis dan aplikasi dan shutdown harus ditempatkan /etc/init.d/
.
Debian memberikan contoh skrip /etc/init.d/skeleton
yang dapat Anda modifikasi sesuai selera untuk aplikasi khusus Anda.
Setelah itu di tempat, hubungi:
# update-rc.d YOURAPP defaults
Agar Debian menambahkan /etc/rc?.d/
symlink untuk Anda.
Jika Anda lebih suka menu atau antarmuka grafis, lihat paket sysv-rc-conf
atau ksysv
.
Anda dapat memanggil skrip Anda dari /etc/rc.local , sebelum baris yang mengatakan keluar 0
Sedangkan untuk mematikan aplikasi Anda, saya sarankan meletakkan skrip di /etc/rc0.d . Anda perlu memberi nama dengan huruf besar K , dan kemudian angka 2 digit yang menentukan urutan skrip ini dijalankan, dan kemudian sebuah nama. Ini akan dipanggil dengan parameter "berhenti", tetapi Anda dapat mengabaikan ini untuk skrip berhenti sederhana.
Untuk startup lihat ini .
Untuk mematikan, buat tautan / salin skrip Anda ke salah satu folder /etc/rcX.d di mana X adalah runlevel yang ingin Anda jalankan. 0 adalah runlevel shutdown untuk Debian yang saya percaya.
sumber
Cara termudah adalah memodifikasi skrip yang ada, berfungsi di sistem saya, digunakan untuk suara :)
/etc/init.d/rc.local
, tambahkan sh Anda di akhir file, sebelum: (itu akan mengeksekusi tepat sebelum masuk "layar")/etc/init.d/halt
, tambahkan sh Anda di awal file, tepat setelah komentar awal (itu akan dieksekusi sebelum perintah shutdown aktual, yang dipanggil oleh file skrip ini/etc/init.d/reboot
sumber
Sejak Debian Jessie,
init
program lama telah diganti olehsystemd
!Lihat sendiri. Jalankan:
ls -l /sbin/init
dan lihat apa maksudnya. Hari ini menunjuk kesystemd
(/sbin/init -> /lib/systemd/systemd
), program inisialisasi yang lebih baru dan lebih baik.JADI PILIHAN DAN JAWABAN LAINNYA DI SINI SEKARANG !!!
* Meskipun Anda masih dapat menginstal skrip dengan cara lama dengan alat System-V, itu bukan ide yang baik secara umum.
man systemd.service
mengatakan: *Untuk sistem Debian yang lebih baru (mis. Jessie, Stretch, Buster, dll ...)
Lebih mudah dari yang Anda pikirkan. (-:
Inilah metode baru dan pilihan untuk menginstal program boot-up atau shutdown.
Dengan
systemd
Anda pertama kali ingin membuat file unit . File unit sebagian besar deklarasi, bukan kode.Kemudian Anda akan menggunakan
systemctl
perintah untuk mengaktifkan atau memulai unit itu.systemd
melakukan banyak pekerjaan untuk Anda, membuatnya mudah, misalnya, untuk memiliki program penting secara otomatis memulai kembali jika crash atau terbunuh. Juga mematikan program Anda di mana dan kapan seharusnya secara default tanpa kerja ekstra di pihak Anda.Mulai pelajari di
systemd
sini:Dari Debian dan di tempat lain dan lain - lain .
Halaman manual untuk memulai dengan:
man systemd.unit
- Tentang file unit secara umumman systemd.service
- Tentang file unit layanan, mis. Daemon, dan program yang dijalankan tunggal.man systemctl
- Antarmuka pengguna baris perintahman journalctl
- Lihat log apa yang telah dilakukan systemdman systemd
- Tentang program init itu sendiriAda juga berbagai jenis file unit lainnya, misalnya
man systemd.target
- untuk grup dan target yang disinkronkan secara umum.Setelah Anda mencerna dasar-dasar di atas, kemudian gali dengan
man -k systemd
untuk menemukan halaman manual terkait lainnya.Apa pun yang Anda lakukan, di Debian jangan gunakan salah satu dari ini :
update-rc.d
- Instal dan hapus tautan skrip init gaya Sistem-Vsysv-rc-conf
- Konfigurasi run-level untuk SysV seperti tautan skrip initrunlevel
- Cetak runlevel SysV sebelumnya dan saat iniBUM
- B oot U p M anager - editor runlevel grafissystemadm
- Frontend grafis untuk systemd system dan service manager(BTW, penulis mengatakan kepada saya melalui email bahwa itu terlalu rusak sekarang.)
SEBUAH CONTOH:
File unit ini memulai daemon NoIP.com saat saya boot-up, dan mematikannya saat saya dimatikan.
Daemon ini, dari waktu ke waktu, mengirimkan alamat IP saya saat ini untuk memperbarui saya DDNS ( D inamis DNS ( D omain N ama S erver)) data base penyedia, sehingga menjaga nama domain saya menunjuk pada komputer saya di mana pun perjalanan ke.
File unit ini terletak di sistem saya di file pengaturan ini:
/etc/systemd/system/noip2.service
Inilah yang ada di file unit:
Jalankan file unit secara manual , (misalnya untuk pengujian):
$ sudo systemctl start noip2
.$ sudo systemctl restart noip2
.$ sudo systemctl stop noip2
.Konfigurasikan sistem untuk secara otomatis menjalankan file unit saat memulai atau mematikan:
$ sudo systemctl enable noip2
.$ sudo systemctl disable noip2
.Melihat log
$ sudo journalctl -u noip2
sumber