Shell Script

posted on 09 Jun 2008 14:56 by tudtu25  in Command

โอ้ยปวดหลัง ปวดเอว
เฮ้อเหนื่อย อิอิ บ่นๆนะครับพี่น้อง เอาล่ะ วันนี้หลังจากที่อ่านมั้งไม่อ่านมั้งมานานก็ได้ฤกษ์งามยามดี
เชิญท่านประธานขึ้นสู่ยอดเสาร์ เอ้า เอ้า เอ้า อ้าวววว ไม่ช่ายย ก็ลงมือเขียน shell script มั้ง
พอดีไปเจอมา นะ ไม่ได้คิดเองหรอก เอามาโมเอา หลังจากที่ service imap ของ server มันเดี้ยงบ่อยนัก
เลยไม่รู้จะทำไงไม่ให้ต้องมานั่งซ่อมมัน ซ่อมก็ได้บ้างไม่ได้บ้าง (ไม่ได้ก็บูทใหม่มันเลย งิงิ) วันนี้เลยจับยัด
script ให้มันรู้แล้วรู้รอดไปเลย เริ่มเลยละกัน

#vi /root/check-service.sh

ใส่ลงไปตามนั้น ส่วนเรื่องของ SERVICE='อะไรนั้น' แล้วแต่จะเช็ค
#!bin/sh
SERVICE='imap'

if ps ax | grep -v | grep $SERVICE > /dev/null
then

            echo "$SERVICE service runing $(date +%Y%m%d %H : %M) everything this file"
else  
            echo "$SERVICE is not runing"
            service $SERVICE stop
            service $SERVICE start            
            echo "$SERVICE is not runing $(date +%Y%m%d %H : %M) And Restart Complete" |mail -s $SERVICE down"
your@yourdomain.com
            /root/check-service.sh

fi

เสร็จแล้ว แก้ crontab -e เพื่อให้รันตรวจสอบทุกๆนาที อันนี้แล้วแต่กำหนดนะครับ ถ้าคิดว่าไม่ชอบซอยถี่ไปก็ทุก 5 - 10 นาทีก็ได้ แต่ถ้า imap ไม่ทำงานจริงๆละก็ รอถึง 5 นาทีคงอึดอัดหน่อย(Sale บ่น ระนาว เซ็งเป็ด)

#crontab -e

* * * * * /root/check-service.sh

save แล้ว service httpd restart
มาทำการรันดูนะครับ

#./root/check-service.sh
ถ้า output เป็น 

imap service runing ปปปปดดวว ชช : นน everything this file

แสดงว่า imap เรายังทำงานอยู่แต่ถ้าเราลอง stop imap ดู

#service imap stop

แล้วลองรันดูใหม่
ถ้าoutput ออกมาว่า

imap service runing ปปปปดดวว ชช:นน
Auto Restart Complete!
imap service runing, everything this file

แสดงว่าได้ และลองไปเช๊คเมลล์ที่ให้ระบบส่งไปดู

Enjoy Enไก่ Enงัว Enเป็ด 

แจ้งข่าวละกัน จากที่ลองเขียนได้สองวัน
demasg ดูปรากฎว่า เปิดปิด session root ตลอดเวลา และแล้ว server ก็ down ลง หาสาเหตุดูแล้ว
ทั้งตู้ดับเครื่องเดียว น่าจะเป็นปัญหาภายใน เลยเช๊คดู ลองบูทเครื่องใหม่ ไม่ถึง 1 ชั่วโมง แรม 3 GB โดน
used ไป 2.5 GB เอ้ย ได้ไง เลยไปยกเลิก crontab ดู แล้วรีบูท ดู Session root หยุดรัน กินแรมน้อยลง
ถ้าพี่น้องจะลองเขียนแล้วรันดู แล้วมาบอกกันมั้งนะครับว่าใครเป็นอย่างผมมั้ง

#dmasg

Jun  8 15:01:01 userdomain crond(pam_unix)[29908]: session opened for user root by (uid=0)
Jun  8 15:01:01 userdomain crond(pam_unix)[29908]: session closed for user root
Jun  8 16:01:01 userdomain crond(pam_unix)[5560]: session opened for user root by (uid=0)
Jun  8 16:01:01 userdomain crond(pam_unix)[5560]: session closed for user root
Jun  8 17:01:01 userdomain crond(pam_unix)[13897]: session opened for user root by (uid=0)
Jun  8 17:01:01 userdomain crond(pam_unix)[13897]: session closed for user root
Jun  8 18:01:01 userdomain crond(pam_unix)[22094]: session opened for user root by (uid=0)
Jun  8 18:01:01 userdomain crond(pam_unix)[22094]: session closed for user root

-_-!

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet

อยากได้ script restart httpd
ทำงานทุก 30 นาที
วิธีการทำเหมือนกันหรือเปล่า

#1 By itthipol (203.113.1.130) on 2009-07-01 15:15

อยากได้ script restart httpd
ทำงานทุก 30 นาที
วิธีการทำเหมือนกันหรือเปล่า

#2 By itthipol (203.113.1.130) on 2009-07-01 15:15

scirpt ที่ของพี่ท่าน มันเล่นrestart service ตลอดเลยอะ จะต้องเขียนยังไงให้มันตรวจสอบได้จริงน๊า เขียนได้พี่ท่านช่วยบอกหน่อยเน้อsad smile

#3 By ีืuntrayo (61.7.233.241) on 2009-07-27 15:26