Table of Contents
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 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 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<n; i++)) do service ${service_arr[i]} status &> /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
Script diatas telah kami sedikit modifikasi dari sumbernya namun fungsi tetap berjalan sesuai script aslinya.