bu betik verilen domain’i kontrol eder ,eğer site offline ise belirtilen adrese mail atar ve bununla da kalmayıp whm’nize erişip restart atar.
Konunun yerine karar veremedim =)
error_reporting(0);
$url = "https://kontrolsitesi.com"; // Kontrol edilecek Domain Adresi
$mailadresi = "bashque@hotmail.com"; // Eğer siteye ulaşılmıyor mail atılacak mail adresi
$timeout = 12; // Siteye kaç saniye bağlanmaya çalışsın. Bu sürenin üzerinde siteye ulaşamadığını kabul eder ve mail atar
function restartat(){
$whmusername = ""; // Whm username
$whmpassword = ""; // Whm şifreniz
$whmipadresiyadadomain = ""; // Whm ip adresi yada domain adresi
$sorgu = $whmipadresiyadadomain.":2087/xml-api/reboot";
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($curl, CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
$istektebulun[0] = "Authorization: Basic " . base64_encode($whmusername.":".$whmpassword) . "\n\r";
curl_setopt($curl, CURLOPT_HTTPHEADER, $istektebulun);
curl_setopt($curl, CURLOPT_URL, $sorgu);
$sonuc = curl_exec($curl);
if ($sonuc == false) {
error_log("curl_exec threw error \"" . curl_error($curl) . "\" for $sorgu");
}
curl_close($curl);
print $sonuc;
}
function maila($adres,$konu,$mesaj){
mail("$adres","$konu","$mesaj");
}
if($_GET["restart"] == "restart"){
echo restartat();
die();
}
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL, "$url");
curl_setopt($ch , CURLOPT_SSL_VERIFYPEER , FALSE);
curl_setopt($ch , CURLOPT_RETURNTRANSFER , TRUE);
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , TRUE);
curl_setopt($ch , CURLOPT_REFERER , 'google.com');
curl_setopt($ch , CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
$siteicerigi = curl_exec($ch);
$sitedurumu = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($sitedurumu =="200"){
if(!stristr($siteicerigi,'name="description"')){ // 200 gelse bile descriptin diye bir yazı geçmiyorsa içinde yinede mail atar kendinize göre düzenleyebilirsiniz.
restartat();
sleep(180); // 180 saniye sonra mail atar. Mail atmadan önce server a restart atmaya çalışır. Tabiki ulaşabilirse.
maila($mailadresi,"$url Açılmıyor Olabilir (Restart Atıldı)","Site açılıyor ama farklı bir sorun var bakılması gerek Hata KODU : $sitedurumu ");
}
}else{
if($sitedurumu=="500"){
restartat();
sleep(180);
maila($mailadresi,"$url Açılmıyor Olabilir (Restart Atıldı)","Site açılıyor ama farklı bir sorun var bakılması gerek Hata KODU : $sitedurumu ");
}else{
restartat();
sleep(180);
maila($mailadresi,"$url Açılmıyor Olabilir (Restart Atıldı)","Site açılıyor ama farklı bir sorun var bakılması gerek Hata KODU : $sitedurumu ");
}
}