SUSE LINUX Enterprise & openSUSE Community
เมษายน 26, 2019, 12:41:01 AM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: Monitoring Server ด้วยคำสั่ง ping และสั่งเมล์แจ้งเตือน  (อ่าน 3459 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: ธันวาคม 08, 2007, 08:19:36 PM »


1. # vi /root/bin/ping

แล้วคัดลอกคำสั่งข้างล่างนี้มาวาง

#!/bin/bash
# add ip / hostname
HOSTS="susethailand.com"

# no ping request
COUNT=1

# email report when
SUBJECT="Ping failed"
EMAILID="username@domain"
for myHost in $HOSTS
do
  count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  if [ $count -eq 0 ]; then
    # 100% failed
    echo "Host : $myHost is down (ping failed) at $(date)" | mail -s "$SUBJECT" $EMAILID
  fi
done

2. chmod +x /root/bin/ping
3. สร้าง crontab
# crontab -e

# Monitor remote host every 30 minutes
30 * * * * /root/bin/ping

*** เครื่องคุณต้องติดตั้ง MTA ด้วยนะครับ

« แก้ไขครั้งสุดท้าย: ธันวาคม 27, 2010, 08:28:54 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
train
Advanced Beginner : เริ่มต้นที่เริ่มเก่งแล้ว
**

Karma: +0/-0
ออฟไลน์ ออฟไลน์

กระทู้: 103


« ตอบ #1 เมื่อ: ตุลาคม 20, 2012, 04:50:44 AM »


mta คืออะไรครับ
script นี้ผมเจอในเนต ทดลองแล้วไม่เวิร์ค 100%
แต่ผมสนใจคำสั่งเมลล์นะครับ มันส่งไงครับ กำลังว่าจะทำ log ไฟล์ เอาใว้ดูพอดี
ใน log ก็เก็บเวลาที่ internet down
ผมไปเจอนี้ใช้งานได้ 100% ครับ
โค๊ด:
#!/bin/bash
while :; do
    ping -c 1 8.8.8.8 >/dev/null 2>&1
    if [ $? = 0 ]; then
        break
    else
        echo timeout
    fi
    sleep 1
done
echo the internet is back up

ตรงที่ ตอนที่ echo แต่ละครั้ง มันเท่ากับ 1 วินาทีพอดี ทำไงจึงนับมันได้ จะได้เอามาคำนวนเวลาได้ครับ
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #2 เมื่อ: ตุลาคม 20, 2012, 10:40:23 AM »


อย่างแรกเครื่องต้องสามารถส่งเมลออกได้ ดังนั้นเราก็ต้องคอนฟิก Mail Transfer Agent (MTA) อาจจะใช้วิธี relayhost ไปยังเครื่อง mial gateway หรือถ้า office ไม่มีเมลเซร์ฟเวอร์ก็อาจจะ relayhost ไปให้ Gmail ส่งออกให้ก็ได้เช่นกัน การคอนฟิก relayhost ต้องคอนฟิกที่ postfix (/etc/postfix/main.cf) และสตาร์ทเซอร์วิส

ถ้าเครื่องสามารถส่งเมลออกได้ สคริปต์ที่เขียนให้มีการส่ง log เข้า mail box ก็จะ work เช่นกันครับ
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.05 วินาที กับ 20 คำสั่ง (Pretty URLs adds 0.01s, 2q)