با اسکریپت php زیر می تونید در بازه های زمانی که خودتون می خواید سایتتون رو چک کنید و در صورت داون بودن سایت یه ایمیل براتون ارسال می شه. موارد مورد نیاز :
۱- یک فضای هاست به غیر از فضایی که می خواهید مانیتور کنید
۲- قابلیت اجرای corn job
کد زیر را در قالب یک فایل php آپلود کنید.
کد PHP:
function check($host, $find) {
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp) {
echo “$errstr ($errno)\n”;
} else {
$header = “GET / HTTP/1.1\r\n”;
$header .= “Host: $host\r\n”;
$header .= “Connection: close\r\n\r\n”;
fputs($fp, $header);
while (!feof($fp)) {
$str .= fgets($fp, 1024);
}
fclose($fp);
return (strpos($str, $find) !== false);
}
}
mail(‘$email’, ‘Monitoring’, $host.‘ down’);
} $email=‘youemail@yoursite.com’;
$host = ‘www.yoursite.com’;
$find = ‘Type a code for find in first page’;
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp) {
echo “$errstr ($errno)\n”;
} else {
$header = “GET / HTTP/1.1\r\n”;
$header .= “Host: $host\r\n”;
$header .= “Connection: close\r\n\r\n”;
fputs($fp, $header);
while (!feof($fp)) {
$str .= fgets($fp, 1024);
}
fclose($fp);
return (strpos($str, $find) !== false);
}
}
function
alert($host) {mail(‘$email’, ‘Monitoring’, $host.‘ down’);
} $email=‘youemail@yoursite.com’;
$host = ‘www.yoursite.com’;
$find = ‘Type a code for find in first page’;
if (!
check($host, $find)) alert($host);
متغیر $host و $email در خطوط آخر را با توجه به نیاز خود تغییر دهید.
متغیر $find حاوی عبارتیست که این اسکریپت برای پیدا کردن آن صفحه اصلی سایت شما را جستجو می کند. در آن عبارتی مانند نام و با عنوان سایت خود را قرار دهید.
با ایجاد یک corn job می توانید در هر بازه زمانی که بخواهید این اسکریپت را اجرا نمایید.
۰ * * * * /usr/local/bin/php -q /htdocs/www/monitor.php