PHP Serverprüfung

dragonknight

New Member
Hatte das Problem, das mein Server gelaufen ist, aber er oftmals sich irgendwie verrant hatte und nicht mehr antwortete.
Hab mir ein Cron Script geschrieben, das genau dies verhindern sollte.
Hier der Code:

cron.php (die Cron Job Datei, wird bei mir alle 6 Minuten ausgeführt)

PHP:
#!/usr/bin/php5 -q
<?
    $a = time() - 13 * Rand();
    $b = time() + 2 * Rand();
    $c = time() - 22 * Rand();
    $d = time() + 2 * Rand();
    if(($c - $d)==0){
        $e = 1;
    }else{
        $e = $c - $d;
    }
	$ch = @fopen("http://www.domain.de/check.php","r");
	$time = time();
	$timer = @fgets($ch);
	@fclose($ch);
	unset($ch);
	$ch = @fopen("http://www.domain.de/check2.php","r");
	$string = @fgets($ch);
	@fclose($ch);
	if($time!=$timer){
		if($string!=md5("Irgendein String")){
			system("/apache2 ".escapeshellarg("restart"),$out);
		}
	}
	unset($ch);
	$ch = fopen("/root/arbiter/log.log","a+");
	fwrite($ch,"-------------------------------------\n".date("c",time())."\ntime : ".$time."\ntimer: ".$timer."\nString Server: ".$string."\nString MD5 ".md5("Chris is the Mega Checker"). "\n----------------------------------------\n");
	fclose($ch);
?>

So und nun die Zwei Check Scripts:
Diese sind unter irgendeiner Domain einzubinden.
Sie sind auch gänzlich ungefährlich, da sie nur einen string wiedergeben
(einmal Time und einmal einen md5 string)

check.php
PHP:
<?
	echo time();
?>
und check2.php
PHP:
<?
	echo md5("Irgendein String");
?>

Ich hab leider das Problem, das ich oftmals einfach an solchen Dynamischen Fehlern hängen bleibe.
Noch etwas:
ihr müßtet einen Link einrichten:
im root Verzeichnis apache2, dieser muß auf /etc/init.d/apache2 zeigen
;)
hab leider noch nicht rausgefunden, wieso ich nicht auf /etc/init.d/apache2 zugreifen kann.
Naja
so long
chris
 
Back
Top