====== 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.