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