端口监视php脚本

  1. 云栖社区>
  2. 博客>
  3. 正文

端口监视php脚本

技术小胖子 2017-11-08 00:28:00 浏览941
展开阅读全文
原文:[url]http://tutorial.jcwcn.com/Web-Design/PHP/Networking/2007-08-13/2943.html[/url]
 
InBlock.gif<?php 
InBlock.gif//需要检查的主机 
InBlock.gif$host = "localhost"// ***把这个改成你的域名 *** 
InBlock.gif    
InBlock.gif$portmsg=""; 
InBlock.gif$headers=""; 
InBlock.gif 
InBlock.gif// 定义检查的端口 
InBlock.gif$ports = array(21=>"FTP",25=>"Sendmail",80=>"Apache Web Server",3306=>"MySQL Server"); 
InBlock.gif 
InBlock.gif// 开始时假定服务没有问题 
InBlock.gif$problem = 0; 
InBlock.gif 
InBlock.gif// 检查下 $ports数组中每一个端口是否可以打开 
InBlock.gifforeach($ports as $port => $service){ 
InBlock.gif        $fp = fsockopen($host,$port,$errno,$errstr,10);    
InBlock.gif        if(!$fp)    
InBlock.gif        {    
InBlock.gif                $portmsg.="Port ".$port." - ".$service."\n"
InBlock.gif                if($problem!=1){ 
InBlock.gif                        $problem=1;//有问题 
InBlock.gif                } 
InBlock.gif        }else
InBlock.gif                fclose($fp); 
InBlock.gif        } 
InBlock.gif        flush(); 
InBlock.gif
InBlock.gif 
InBlock.gif// 如果有问题通知接收方 
InBlock.gifif($problem == 1){ 
InBlock.gif        // 发送邮件 
InBlock.gif        $recipients = "[email]xcf-007@163.com[/email]";    // *** 把这个改成你的邮箱 *** 
InBlock.gif        $msg = date("M d, Y h:i:s",time())."\n\n"
InBlock.gif        $msg.= "下面的服务不可用需要立即引起注意:\n\n"
InBlock.gif        $msg.= $portmsg;    
InBlock.gif        $subject = '服务不可得!'; 
InBlock.gif        $headers .= "From: 服务器状态<root@localhost>\r\n"
InBlock.gif        $headers .= "X-Sender: <root@localhost>\r\n"
InBlock.gif        $headers .= "Content-Type: text; charset=gbk\r\n"
InBlock.gif        mail($recipients, $subject, $msg, $headers) or die("发送邮件失败."); 
InBlock.gif
InBlock.gif?>
 
 
检查服务器上指定的端口是否开放并email通知服务器管理员。





本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/109545,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
技术小胖子
+ 关注