相關業務/技術合作 行銷/經銷/代理;可洽 service@imoo.tw
星期四, 十一月 12, 2009
msn 機器人應用於伺服器監控

原文出處  http://dominic16y.world.edoors.com/CGNWR3kC9euM
 
 

為了便於監控 Server 的狀態,我需要 Server 在更換IP時,能自動透過 msn 發個訊息給我 server 的當前IP。 msn 機器人已經有人寫好了,可在這裡免費申請使用,現在需要的就是我寫一個小程式來呼叫 msn 機器人來幫我發送訊息。

首先參照這個頁面,是 msn 機器人的運作流程,簡單提一下
0.當你申請過後,他會寄給你一個你專屬的 msn 機器人 (就是一個網址啦),和操作這個機器人的帳號密碼。
1.取得 SPID 值,也就是 session ,有效期為六小時。
2.加聯絡人,你和機器人必需互加為聯絡人,才能發訊。
3.發送訊息,發訊時要帶有效的 spid 值才能發送。

以上幾點呢,都還不需要寫程式,但你必需得先用網頁的方式測試ok了,能正常收發訊息時,才接著下一步。也就是說把瀏覽器打開,貼上正確的網址,就能測試了。

開始寫 shell script

以下所寫的程式適用於 debian 4.0 和 5.0 的環境

vim /home/backup/msn_send.sh

#!/bin/bash
# msn 機器人發訊

#1.取得 SPID 值
wget -q -O /tmp/session.txt -q 'http://59.120.234.84:8082/msnSDK/msn_cgi-win32?FUNC=GETSPID&USERID=帳號&PASSWD=密碼'

#2.設定 session 變數,此變數的有效期為六小時
session=`cat /tmp/session.txt|awk '{printf $2 "\n"}'`

#3.設定date與IP 變數
IP1=`/sbin/ifconfig ppp0 | grep "inet" | cut -c 21-38 |awk '{ print $1 }'`
date1=`date +%Y/%m/%d,%T`

#4.送訊息給 dominic16y 和 yuyen.chen
wget -q "http://59.120.234.84:8082/msnSDK/msn_cgi-win32?UIDS=你的MSN帳號&MSG=$date1 IP更換:$IP1&flags=0&FUNC=SENDMSG&ENCODING=UTF-8&SESSION=$session"


以上的程式內容,需註意紅字的部份修改成你的帳密
再執行以下指令安裝
chmod 755 /home/backup/msn_send.sh
ln -s /home/backup/msn_send.sh /etc/ppp/ip-up.d/msn-send

這樣,一但 server 換IP了,它就會自動的透過 msn 來通知你。
 
 
Collablog Portal enabled