Skocz do zawartości
Zaloguj się, aby obserwować  
Alwaro

powiadomienie Email

Polecane posty

Witam,

 

zacznę od tego że php nie jest moją mocną stroną.

 

Mam skrypt do monitoringu urządzenia wywoływany cron`em (co 10 min), który wysyła maili iż dany ip nie odpowiada przykład:

<?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);
    }
}

function alert($host) {
    mail('mail@mail.com', 'Monitoring WWW', $host.' nie odpowiada.');
}

$host = '192.168.167.213';
$find = 'Hostingyyyy';
if (!check($host, $find)) alert($host);
?>

problem polega na tym iż przysypuje mnie mailami gdy coś jest down.
znalazłem info że można zrobić tak: gdy zostanie wysłane powiadomienie to skrypt

zapisze do pliku baza.txt info "192.168.167.213 1" iż hosti ist down

i każda następne wywołanie z crona nie wyśle maila z informacją, a gdy

host wstanie zmienia wpis w bazie na "192.168.167.213 0" i wtedy funkcja mail jest znów aktywna i powiadomi o nagłej awarii.

 

i tu problem, nie potrafię tego ogarnąć. mogę liczyć na jakąś małą podpowiedź ? Instrukcje?

 

Pozdrawiam i dziękuje :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Możesz sobie zrobić najprościej plik powiedzmy status.txt i wpisywać tam 1 - dla serwera Online i 0 - dla serwera Offline. Powiadomienie będzie wysyłąne gdy serwer jest Online a w pliku jest 0 i zmieni przy okazji na 1 (i na odwrót). Proste :)

 

Ewentualnie użyć MySQL, ale dla jednej bazy z jedną tabelą i jednym rekordem się to nie opłaca.

 

 

Pamiętaj też że skrypt zasypie ci fałszywymi mailami jak coś stanie na drodze między tym serwerem a resztą łącza bo wiadomości ci się z kolejkują :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Rozumiem umiał byś jakimś kodem zapodać? :D widzę po stopce że Ty jesteś w temacie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×