我做了一個PHP腳本平網站,如果我有一個答案,我什麼都不做,否則我發送電子郵件警報。 這是我的代碼:Crontab誰在Debian服務器上使用PHP平臺網站
function urlExists($url=NULL)
{
if($url == NULL) return false;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode>=200 && $httpcode<300){
return true;
} else {
return false;
}
}
$url = 'http://www.website.com/';
if(urlExists($url) == true)
{
exit('Website OK'."\n");
} else {
$headers ='From: "Sembot"<[email protected]>'."\n";
$headers .='Reply-To: [email protected]'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
foreach ($destinataire as $dest) {
echo 'Website DOWN'."\n";
if(mail($dest, 'Sembot - Website DOWN', 'Website DOWN', $headers)) { echo 'email...'; }
}
}
當我在瀏覽器或與控制檯執行這個文件,該消息是「網站OK」,因爲網站是現在確定。但是,當我創建一個每5分鐘執行一次腳本的crontab時,我每5分鐘收到一封電子郵件,但該網站並未死亡...您知道爲什麼嗎?
默認情況下cron將cron作業的輸出發送給作業的所有者。如果你不想讓郵件發送「OK」消息,那麼不要在該代碼路徑中執行任何輸出。 –