====== Linux: Script Auto Restart Service Otomatis ====== {(rater>id=membuat-script-auto-restart|name=membuat-script-auto-restart|type=rate)} Bisa jadi suatu saat service apache, exim, php-fpm atau lainya tiba-tiba mati. Bisa jadi anda lupa belum [[linux:membuat-service-auto-start|membuat service auto start]] atau memang tiba-tiba mati sendiri. Maka itu berikut ini adalah script yang bisa membantu anda melakukan auto start service tertentu yang mati.
Script ini telah kami uji di Centos 6 dan bisa berjalan dengan baik
===== Tahapan Membuat Script Auto Restart Service ===== Pertama buatlah folder tertentu misal script mkdir /script kemudian buat file autorestart.sh nano /script/autorestart.sh dan apabila anda belum menginstall nano sebelumnya, anda bisa menginstall nano baca [[linux:install:nano|Cara install Nano]] Anda akan dihadapkan pada halaman blank atau kosong kemudian isi dengan script ini #!/bin/bash #store the pid of this script into a temp file echo $$ > /tmp/autorestart_pid declare -a service_arr #Load this array with the service names (maybe from file) service_arr=("nginx" "php-fpm" "memcached") n=${#service_arr[*]} for ((i=0; i /dev/null if [ $? -ne 0 ] then service ${service_arr[i]} start &> /dev/null if [ $? -ne 0 ] then echo "Failed to start ${service_arr[i]}" fi fi done exit; simpan dengan menekan CTRL + X setelah anda simpan ubah permission agar bisa dieksekusi chmod 755 /script/autorestart.sh terakhir, test jalankan script dengan cara sh /script/autorestart.sh atau bisa juga langsung dengan /script/autorestart.sh ===== Cara Penggunaan ===== Perhatikan pada baris **service_arr=("nginx" "php-fpm" "memcached")** pada baris tersebut anda bisa memasukkan service yang ingin anda lakukan auto restart otomatis apabila service tersebut mati. ===== Studi Kasus ===== Saya mematikan service php-fpm dan kemudian menjalankan autorestart.sh perhatikan ini [root@us1 ~]# /etc/init.d/php-fpm stop Stopping php-fpm: [ OK ] [root@us1 ~]# /etc/init.d/php-fpm status php-fpm is stopped [root@us1 ~]# sh /script/autorestart.sh [root@us1 ~]# /etc/init.d/php-fpm status php-fpm (pid 8703) is running... Anda bisa memperhatikan diatas, service php-fpm kami matikan kemudian menjalankan autostart.sh dan service kembali berjalan. ===== Penjadwalan Cron ===== Apabila anda ingin menjalankan script ini secara otomatis maka anda bisa menjadwalkan melalui cron. nano /etc/crontab isi dengan */5 * * * * root /script/autorestart.sh > /dev/null Contoh diatas memberitahukan ke cron untuk menjalankan script setiap 5 menit ====== Pertanyaan? ====== Apabila anda memiliki pertanyaan bisa langsung kirim email ke **tanya(at)pusathosting.com** ====== Sumber ====== - https://phoxis.org/2012/02/23/simple-script-to-restart-services-automatically-when-stopped-in-fedoraredhat/ Script diatas telah kami sedikit modifikasi dari sumbernya namun fungsi tetap berjalan sesuai script aslinya.