Membuat script yang sanggup memonitor service Nginx atau Apache dan MySQL. Ketika salah satu service tersebut down maka script akan otomatis me-restart service tersebut biar sanggup ON kembali tanpa harus melaksanakan secara manual.
Script ini aku ambil dari sierracircle, MIT License. Cara kerja script ini adalah
- Memeriksa service Nginx/Apache, php-fpm dan MySQL atau lainnya, sanggup diatur
- Jika service tidak aktif, maka akan dicoba start kembali dan mengirimkan notifikasi ke email
- Jika gagal me-restart, maka akan mengirimkan email pemberitahuan, lalu exit
1. Buat file start_service.sh
nano start_service.sh
Isinya ibarat berikut, (ganti nama servicenya nginx atau apache, juga emailnya)
#!/bin/bash
##Path, OK untuk Ubuntu 14.04 and 16.04, update 18.x
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
##set email Anda
EMAIL="email@idnetter.com"
##daftar service yang ingin dicek, sebagai pola nginx sanggup diganti apache, php-fpm atau yang lain
SERVICES=( 'nginx' 'mysql' )
for i in "${SERVICES[@]}"
do
##Cek service
`pgrep $i >/dev/null 2>&1`
STATS=$(echo $?)
##Jika service tidak aktif
if [[ $STATS == 1 ]]
then
##restart service
service $i start
##cek restart berhasil atau gagal
`pgrep $i >/dev/null 2>&1`
RESTART=$(echo $?)
if [[ $RESTART == 0 ]]
##Jika restart berhasil
then
##hapus file di dalam /tmp kalau ada
if [ -f "/tmp/$i" ];
then
rm /tmp/$i
fi
##kirim email
MESSAGE="$i tidak aktif, tapi sudah berhasil diatasi (restart). Terjadi pada $(hostname) $(date) "
SUBJECT="$i tidak aktif telah berhasil direstart pada $(hostname) $(date) "
echo $MESSAGE | mail -s "$SUBJECT" "$EMAIL"
else
##Jika gagal restart
##cek kalau ada ile di /tmp
if [ ! -f "/tmp/$i" ]; then
##membuat file di /tmp (log)
touch /tmp/$i
##kirim email info buruk
MESSAGE="$i ketika ini down pada $(hostname) at $(date) "
SUBJECT=" $i down pada $(hostname) $(date) "
echo $MESSAGE " Script mencoba auto restart, tapi tidak berhasil, ini buruk, segera cek dan perbaiki" | mail -s "$SUBJECT" "$EMAIL"
fi
fi
fi
done
exit 0;
2. CHMOD
chmod biar sanggup dieksekusi
chmod +x start_service.sh
3. Install cron job
*/1 * * * * /root/start_service.sh
Sumber https://idnetter.com
Mari berteman dengan saya
Follow my Instagram _yudha58Related Posts :
9 Daftar Control Panel Gratis PopulerDaftar control panel gratis terkenal berbasis web untuk memudahkan dalam mengelola hosting/server/VPS.Vesta control panel (VestaCP)Fiturnya:… Read More...
Cara Import Database Sql Melalui Command LineSolusi import database dengan ukuran file yang besar ialah import melalui command line. Misalnya databasenya 10MB dengan total 100,000 rows.… Read More...
Mengubah Default Port Vestacp 8083Panduan cara merubah port vestaCP 8083. Satu baris perintah berikut ini akan mengubah default port VestaCP 8083 ke 2083, Anda dapat menggant… Read More...
Cara Install Sertifikal Ssl Di Halaman Control Panel Vestacp 8083Sebenarnya pada VestaCP sudah dibelaki SSL untuk halaman login panelnya tapi self-signed, jadi pada tutorial kali ini mungkin lebih tepatnya… Read More...
Cara Install Ioncube LoaderPanduan cara install ionCube Loader. Modul PHP ionCube biasanya dipakai untuk membaca script PHP yang terenkripsi. Versi yang dipakai pada t… Read More...
0 Response to "Otomatis Restart Service Nginx, Apache Dan Mysql Kalau Down"
Posting Komentar