首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux上网站状态监控实现(免费手机短信和MSN消息提醒)

2012-11-10 
linux下网站状态监控实现(免费手机短信和MSN消息提醒)if curl -m 10 -G http://${server_all_list[$i]}/

linux下网站状态监控实现(免费手机短信和MSN消息提醒)
if curl -m 10 -G http://${server_all_list[$i]}/ > /dev/null 2>&1 then #status: 0,http down 1,http ok 2,http down but ping ok status=1 echo "服务器${server_ip},端口${server_port}能够正常访问!"; server_message="服务器${server_ip},端口${server_port}能够正常访问!"; else if curl -m 30 -G http://${server_all_list[$i]}/ > /dev/null 2>&1 then status=1 echo "服务器${server_ip},端口${server_port}能够正常访问!" server_message="服务器${server_ip},端口${server_port}能够正常访问!"; else if ping -c 1 $server_ip > /dev/null 2>&1 then status=2 echo "服务器${server_ip},端口${server_port}无法访问,但是能够Ping通!"; server_message="服务器${server_ip},端口${server_port}无法访问,但是能够Ping通!"; else status=0 echo "服务器${server_ip},端口${server_port}无法访问,并且无法Ping通!"; server_message="服务器${server_ip},端口${server_port}无法访问,并且无法Ping通!"; fi fi fi send_msg_to_interface "${server_message}" "${status}"; let i++done

interface.php (需要设置监控端服务器的让其可访问到,如:http://127.0.0.1/monitor/interface.php,与上面脚本对应)
这里需要一个PHP类sendMsg,用来通过PHP发送消息到MSN,下载后把目录解压到interface.php目录即可。

include('sendmsg/sendMsg.php'); //HTTP服务器监控if (isset($_POST["menu"])){ if (htmlspecialchars($_POST["menu"]) == "http")    {     $date = htmlspecialchars($_POST["date"]);     $ip = htmlspecialchars($_POST["ip"]);  $port = htmlspecialchars($_POST["port"]);  $status = htmlspecialchars($_POST["status"]);//状态,0表示无法访问,1表示正常,2表示无法访问但能ping通   $message = '';  switch($status)  {   case '0':    $message = $ip . '服务器无法访问';    break;   case '1':    $message = $ip . '服务器工作正常';    break;   case '2':    $message = $ip . '服务器无法访问但能ping通';    break;  }   if ($status == 0 && $status == 1)  {   $sendMsg = new sendMsg();   $sendMsg->login('用来发消息的MSN帐号', '密码');   $sendMsg->createSession('用来接收消息的MSN帐号');   $sendMsg->sendMessage(iconv("GBK", "UTF-8", $message), 'Times New Roman', 'FF0000');   } }}

然后执行crontab -e,加入如下语句:

*/5 * * * * sh /var/cron/monitor/http.sh

好了,脚本将会每5分钟执行一次,如果想测试一下脚本是否有效,可以把http.sh里的send_msg_to_interface函数里的if语句注释掉(别忘记fi也要注释)。

热点排行