FTP服务器监控

FTP服务器监控,ftp,monitoring,Ftp,Monitoring,我需要监控一些ftp服务器的文件结构是否有任何变化,我需要监控的是一个文件被下载了多少次(如果可能的话不确定),文件是否被更改,文件是否被删除,ftp服务器是否仍然存在 我希望这是一些我可以运行服务器端,并希望短信或电子邮件,如果上述任何变化已经发生 有没有人有任何经验或会推荐一种特定的语言或脚本 感谢php,我使用这个简单的脚本 setTimezone(新日期时区(“美国/纽约”); $date=$date->格式('U=Y-m-d H:i:s')。“\n”; 如果(!filesize($fi

我需要监控一些ftp服务器的文件结构是否有任何变化,我需要监控的是一个文件被下载了多少次(如果可能的话不确定),文件是否被更改,文件是否被删除,ftp服务器是否仍然存在

我希望这是一些我可以运行服务器端,并希望短信或电子邮件,如果上述任何变化已经发生

有没有人有任何经验或会推荐一种特定的语言或脚本


感谢php,我使用这个简单的脚本

setTimezone(新日期时区(“美国/纽约”); $date=$date->格式('U=Y-m-d H:i:s')。“\n”; 如果(!filesize($file)>0){ echo“文件为空!”; } 否则{ while(($ftpservers=fgets($handle))!==false){ //echo$ftpserver.“
”; $ftpserver=explode(“
”,$ftpserver); //$pattern=“/”; //preg_match($pattern,$ftpserver,$output); foreach($ftpserver作为$ftpserverurl){ $ch=curl\u init();//这部分我们设置了curl curl_setopt($ch,CURLOPT_URL,$ftpserverurl); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_超时,15); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,40); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); curl_exec($ch); if(旋度误差($ch)) { sleep(2);//添加sleep以避免主机服务器过载 $echooutput=$date.'Curl error:'.Curl_error($ch)。'Server failured:'。$ftpserverurl; 错误日志(“$echooutput”,3,“ftperrors.log”);//写入日志时出错 错误日志(“$echooutput”,1,“您的电子邮件地址”);//电子邮件警报 卷曲关闭($ch); } 其他的 { 错误日志($date curl操作成功\n),3,“curl.log”);//跟踪模式分析的成功连接 卷曲关闭($ch); } } } //如果(!feof($handle)){ //echo“错误:意外的fgets()失败\n”; //} fclose($handle); } ?>
仅供参考,我不想安装ftp服务器,我只想通过定期登录来帮助我监控其他ftp服务器
?
ini_set('auto_detect_line_endings', true);
error_reporting(E_ALL);

set_time_limit(0);
ini_set('show_errors', 1);
$file = "ftpfile.txt";
$handle = fopen($file, "r");

$date = new DateTime();
$date = $date->setTimezone(new DateTimeZone('America/New_York'));
$date = $date->format('U = Y-m-d H:i:s') . "\n";

if(!filesize($file)>0) {
        echo "File is empty!";
    }
    else {
    while (($ftpservers = fgets($handle)) !== false) {

        //echo $ftpservers. "<br>";
        $ftpserver= explode ("<br>", $ftpservers );
        //$pattern = "//";
        //preg_match ($pattern, $ftpservers, $output);

        foreach ($ftpserver as $ftpserverurl) {
$ch = curl_init();                   //this part we set up curl 
curl_setopt($ch, CURLOPT_URL,$ftpserverurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,40);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);

if(curl_errno($ch))
{
sleep(2); //add sleep in order to not overload hosting server
$echooutput = $date. 'Curl error: ' . curl_error($ch). 'Server Malfunctioned:' .$ftpserverurl;
error_log("$echooutput", 3, "ftperrors.log"); //write error to log
error_log("$echooutput", 1, "your email address"); //email alert 
curl_close ($ch);


}
else
{
error_log("$date curl operation is sucessful \n", 3, "curl.log"); //keep track of successful connections for pattern anaylsis
curl_close ($ch);

}

        }

    }
    //if (!feof($handle)) {
        //echo "Error: unexpected fgets() fail\n";
    //}
    fclose($handle);






        }
?>