Membuat Server Mendeteksi Listrik Padam dan Secara Otomatis Melakukan Shutdown

Berulang kali saya harus mengalami Harddisk jebol karena seringnya listrik padam dan UPS tidak mampu membackup power dalam jangka waktu lama. Mungkin hal ini tidak akan jadi masalah bagi anda semua yang memilki UPS dengan kapasitas besar dan backup time yang cukup lama. Namun, bagi saya yang hanya mampu membeli aki basah 10AH untuk memodifikasi UPS usang merk kenika yang bettreynya udah rusak, padamnya listrik PLN yang waktunya sangat susah diprediksi menjadi musuh yang sangat menakutkan :takuts . Berulang kali saya harus dengan terpaksa menginstall ulang server karena HDD yang jebol.  Belum lagi keperluan saya yang harus sering meninggalkan rumah dalam jangka waktu lama membuat saya tidak bisa mematikan server jika terjadi pemadaman listrik tiba2. Saya sangat butuh solusi yang bisa membuat server secara otomatis shutdown saat listrik padam sebelum UPS kehabisan daya untuk membackup power untuk server.

Terinspirasi dari fitur Netwatch di mikrotik, maka saya mulai berpikir untuk memanfaatkan fitur ping untuk mendeteksi adanya listrik padam. Konsep dasarnya, server akan melakukan ping secara berkala dimana jika terjadi ping timed out, maka server akan mengeksekusi perintah shutdown. Untuk menjalankan konsep itu, maka dibutuhkan sebuah alat yang selalu menyala dan bisa di ping dan terhubung langsung dengan listrik PLN, disini saya punya satu Akses Point (AP) untuk wireless lan yg saya nyalakan di dalam rumah, tetapi tidak saya masukkan UPS, nah AP inilah nantinya yang akan menjadi parameter ping untuk proxy server. sehingga saat ping reply ke AP ini timed out, karena AP mati saat listrik PLN padam, maka proxy akan mengeksekusi script self shutdown. Tinggal sesuaikan saja dengan topologi jaringan di tempat anda, kira-kira alat apa yang bisa di ping sebagai parameter padamnya listrik PLN.

Anda juga bisa memanfaatkan script ini untuk mematikan server saat malam dimana sudah tidak ada lagi client yang menggunakan service dari server tersebut, misal di warnet yang tidak buka 24 jam, Komputer operator pun bisa menjadi parameter ping-nya.

langkah kerja yang dilakukan :

buka terminal proxy (saya pake Ubuntu) via Putty. Yang terbiasa dengan webmin dan winscp akan lebih mudah.
buat sebuah file dengan nama shutdown.sh, saya buatnya di folder root

cd /root
pico shutdown.sh

Selanjutnya pastekan script sederhana berikut :


#!/bin/sh

IP_LIST=’192.168.0.200′

ALIVE=0
for IP in $IP_LIST; do
ping -q -c1 -w5 $IP
if [ $? -eq 0 ]; then
ALIVE=1
echo “$IP is alive: $(date)” >> /root/shutdown.log
break
fi
done

if [ $ALIVE -eq 0 ]; then
echo “***ShutDown*** $(date)” >> /root/shutdown.log
echo “###########################” >> /root/shutdown.log
/sbin/shutdown -h now
fi

ubah permission agar bisa di eksekusi :


chmod +x /root/shutdown.sh

masukkan script kedalam crontab agar di eksekusi sesuai keinginan kita. Yang saya lakukan disini setiap 3 menit


crontab -e

masukkan baris dibawah :


0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /root/shutdown.sh

Coba sekarang cabut kabel UTP yang mengarah pada AP ataupun alat lain yang menjadi parameter ping server, tunggu beberapa menit sesuai dengan waktu pada cronjob. Jika script yang anda tuliskan benar, maka server akan secara otomatis shutdown beberapa saat kemudian.

Selamat mencoba, dan semoga memberikan manfaat.

Membuat Server Mendeteksi Listrik Padam dan Secara Otomatis Melakukan Shutdown

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s