User Tools

Site Tools


linux:membuat-script-auto-restart

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.

Layanan

Harga Domain .COM | Harga Domain .ID | Shared Hosting | Email Hosting | MySQL Hosting |
linux/membuat-script-auto-restart.txt · Last modified: 2016/05/10 12:03 by kbadmin