最新消息:

网页监控脚本程序

Web 观测者 1944浏览

要求:当某个页面中出现指定关键词时,发送邮件到邮箱,或者发送短信到手机。
注:运行环境仅限Linux

一、bash版本
首先邮件配置一下:

#切换到root权限
su
yum install -y mutt sendmail
#启动sendmail
/etc/init.d/sendmail restart
#配置muti
cp /etc/Muttrc ~/.muttrc
#编辑muttrc配置文件
vi ~/.muttrc
#在开头添加如下内容
set envelope_from=yes
set from=xxx@xxx.xxx
set realname="xxxx"
set use_from=yes
#保存

bash文件如下:

#/bin/env bash
if [ `curl -s https://console.online.net/en/order/server_limited | grep -c "back order"` -ne 2 ]
then
#发送邮件
echo "主人,2欧的独服出现啦!!!"|mutt -s "$(date +%Y-%m-%d)独服出现" abc@163.com
fi

把上面脚本保存在文件里面(路径和文件名可自定义),起名字cron_online.sh,放到如下路径:/root/cron_online.sh

设置crontab定时检测,每隔五分钟检测一次:

crontab -e

输入如下,保存

*/5 * * * * /bin/bash /root/cron_online.sh

脚本简单,不依赖其他环境。主要是思路,自己可以去扩充,比如:ip伪装,useragent伪装等等。有短信接口的也可以加个手机短信提示。

二、PHP版本
利用飞信API提供短信发送,短信提醒是免费的。

<?php
   header("Content-type: text/html; charset=utf-8");
   date_default_timezone_set('PRC');

   //这里填写自己的飞信账号和密码
   define('FEIXIN_USER','138000138000');     //飞信账号
   define('FEIXIN_PASS','123456');            //飞信密码
   define('FEIXIN_TOUSER','138000138001'); //飞信内容接收者账号,如果发送多个用逗号隔开 138000138000,138001138001
   //以下内容切勿修改。

   if (php_sapi_name() != 'cli')
   {
       die('该脚本必须运行在cli模式下');
   }

   $url = "http://www.online.net/en/dedicated-server/dedibox-kidechire";
   $feixin = "http://blog.zhuzhenyu.net/feixin/feixin.php?phone=".FEIXIN_USER."&passwd=".FEIXIN_PASS."&tophone=" . FEIXIN_TOUSER;
   //获取
   $opts = array(
           'http'=>array(
                   'method'=>'GET',
                   "User-Agent"=>"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36",
                   "timeout"=>20
               )
       );
   $context = stream_context_create($opts);
   $data = file_get_contents($url,false,$context);
   if($data)
   {
       $pattern = '/<span class="green-text">(.*)<\/span>/';
       preg_match_all($pattern, $data,$matches);
       if(!empty($matches[1]) && is_numeric($matches[1][0]))
       {
           //发送短信
           $send = $feixin . "&content=有" . $matches[1][0] . '个2欧独服出现啦';
           echo $send;
           file_get_contents($send,false,$context);
       }
   }

把上面脚本保存在文件里面(路径和文件名可自定义),起名字cron_online.php,放到如下路径:/root/cron_online.php

设置crontab定时检测,每隔五分钟检测一次:

crontab -e

输入如下,保存

#每隔五分钟
*/5 * * * * /usr/local/bin/php /root/cron_online.php
#下面这个是每隔30秒
* * * * * * sleep 30 /usr/local/bin/php /root/cron_online.php

转载请注明:观测者 » 网页监控脚本程序