Bash script shell untuk melihat banyaknya proses di Linux

28 March 2011

Kita sebagai sys admin kadang kala perlu melakukan restart terhadap aplikasi yang berjalan paralel. Dan proses itu secara mudah dapat diketahui melalui perintah ps ax | grep nama_aplikasi. Bila terlihat proses nya banyak maka dengan segera kita melakukan restart aplikasi agar mesin linux yang kita miliki tidak terbebani banyak proses berjalan. Contoh kasus tersebut biasanya terjadi pada aplikasi web server yang sering melayani banyak koneksi yang pada akhirnya membuat mesin linux menjadi lambat. Cara restart aplikasi diatas dilakukan dengan cara manual yang kadang kala pula merepotkan kita sebagai sys admin. Untuk menyiasatinya agar proses restart tersebut dapat dilakukan secara otomatis maka kita akan coba  membuat script shell yang dijalankan priodik melalui cron.
Script tersebut bekerja dengan membaca banyaknya proses yang berjalan dari aplikasi yang sedang diamatinya dan bila proses yang dimaksud terhitung dengan jumlah yang telah kita definisikan maka akan melakukan restart terhadap aplikasi yang di kontrolnya. Berikut script shell yang dimaksud:
#!/bin/sh
web=$(ps ax|grep httpd|wc -l)
if [ "$web" > 100 ]
then
/etc/init.d/httpd restart
fi
Contoh kecil script diatas adalah untuk melakukan counter dari proses httpd dan bila hasil counter mencapai diatas 100 maka script akan melakukan restart terhadap Apache server. Script diatas dapat dimodifikasi untuk keperluan mengontrol proses lainya.

0 komentar: