Trebalo bi da napisem skriptu koja ce nadgledati uptime nekog servera (ili vise njih). Znaci, svakih xx minuta treba ispitati da li je server ziv.
Kako vi mislite da ovo treba odraditi?
Koriscenjem iskljucivo PHP-a - u tom slucaju ne znam kako bih pozivao skriptu periodicno, ili pisanjem pomocnog programa koji bi bio instaliran na serveru u u neku bazu belezio potrebne podatke?
server uptime ideje
Zaključano
Zakačeno
Ne mogu sad da probam, ali ovako nekako:
A za periodicno pozivanje skripte, vidi ovo: http://www.elitesecurity.org/p1552031
Code:
$uptime = system('uptime');
$uptime = system('uptime');
A za periodicno pozivanje skripte, vidi ovo: http://www.elitesecurity.org/p1552031
Potpis
jel samo serveri moraju php, ili mora i onaj koji ih nadgleda da koristi php?
inace ako uradis ovo gore, mozes nekim "curl"-om da pokupis podatke, i onda samo odseces nepotreban tekst i upisujes u bazi (to sve moze na linuxu u bashuu jednoj liniji da se uradi)
inace ako uradis ovo gore, mozes nekim "curl"-om da pokupis podatke, i onda samo odseces nepotreban tekst i upisujes u bazi (to sve moze na linuxu u bashuu jednoj liniji da se uradi)
Potpis
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
http://www.mulaz.org/
Evo sad sam probao kod sebe na serveru. Kod treba da glasi ovako:
Ovo kod mene na serveru vraća sledeći string:
p.s. Ovo radi samo na *nix serverima. Za Windows bi verovatno mogao da se napiše sličan konzolni program koji bi onda PHP pozivao...
Code:
system('uptime', $uptime);
echo $uptime;
system('uptime', $uptime);
echo $uptime;
Ovo kod mene na serveru vraća sledeći string:
Citat:
16:41:32 up 68 days, 10:21, 0 users, load average: 0.29, 0.39, 0.43 0
p.s. Ovo radi samo na *nix serverima. Za Windows bi verovatno mogao da se napiše sličan konzolni program koji bi onda PHP pozivao...
Potpis
Samo da vidim da li smo se razumeli.
Dakle, hocu recimo na svakih sat vremena da proverim da li radi http, znaci reci cu
$f = fsockopen("www.asd.com", 80, $errno, $ettstr, 30);
i ako je true, znaci da je server ziv, a ako nije, znaci da nesto nije u redu...Kada se to uporedi sa brojem "pingova", dobicu procenat koji ce odslikavati vreme za koje je server online.
E sad, zanima me, da li je dobra praksa uraditi uptime, pa proveravati da li je rezultat manji od od zadatog intervala?
Dakle, hocu recimo na svakih sat vremena da proverim da li radi http, znaci reci cu
$f = fsockopen("www.asd.com", 80, $errno, $ettstr, 30);
i ako je true, znaci da je server ziv, a ako nije, znaci da nesto nije u redu...Kada se to uporedi sa brojem "pingova", dobicu procenat koji ce odslikavati vreme za koje je server online.
E sad, zanima me, da li je dobra praksa uraditi uptime, pa proveravati da li je rezultat manji od od zadatog intervala?
zar ne bi bilo lakse da stvarno pingujes server (komandom ping)?
prvi deo vraca 0 ako je sve u redu, i neki drugi broj ako dodje do greske (naravno to se upisuje u terminal na *nix-u)
Code:
ping www.google.com -c 3 ; echo $?
ping www.google.com -c 3 ; echo $?
prvi deo vraca 0 ako je sve u redu, i neki drugi broj ako dodje do greske (naravno to se upisuje u terminal na *nix-u)
Potpis
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
http://www.mulaz.org/