28. marts 2001 - 16:27Der er
37 kommentarer og 1 løsning
overvågning
Er der en der kan lave et lille simpelt PHP script der kan tjekker om webbet køre.. og hvis det ik gør mailer scriptet til den pågældende. Havde forestiler mig at txtfilen oplysnigerne skal hentes i kunne se sådan her du: list.txt 123.123.123.123 dk@computopic.dk 232.323.232.232 jubii@bla.dk og så videre... Det kunne være en glimrendene service for mange .. og vi (computopic) vil gerne lægge server til.. gratis..
Man kan vel ikke pinge fra php (? - jeg er forholdsvis newbie) MEN du kan vel bruge følgende:
$var = \"stien til websitet\"; if (file_exists($var)) { echo \"siden er OPPE\"; } else { echo \"siden er NEDE\"; mail(...); }
Hvis der ikke må bruges MySQL til at hente sites\'ne kan man vel fuske sig til noget med (Jeg aner bare ikke hvordan man bestemmer hvilken linie der skal \"læses\" i txt-filen ...);
=>artikler: Det kan da godt ske ... skal ikke kunne sige det, men vi kan jo ikke en gang se efter på php.net ... Mht. fopen, så er det C&P fra php.net for noget tid siden ... Det virker i hvert fald uden \"
repsac -> De har været nede før, men aldrig i flere timer som det vist er tilfældet lige nu! men man kan finde manualen andre steder vil jeg tro, jeg fandt selv noget jeg kunne bruge i www.zend.com \'s manual (Jeg ville hente manualen fra php.net i formiddags, typisk at de er nede når man skal bruge dem!)
at pinge serveren er også en dårlig ide.. da man mange gange godt kan pinge,... men webserveren er nede aligevel.. Så det er bedst hvis den bare kiggere efter om der findes en index.* ... Kan de også laves så at scriptet .. via en formmailer.cgi kan sende en mail til personen? HVis det er for svært med txtfil .. så har vi da MySql...
Kan en lave det færdige script ud fra denne oplysning: server: computopic.dk Database: alert Tabel: webs Rækker: ID , adresser , e-mail , interval pass: alert User: alert
.. hvis flere informationer mangler .. så sig til .. Jeg synes nemlig at denne her omtalte service mangler.. og det skal selvfølig være gratis.. så kan man nemlig følge lidt med i om nes webs er oppe..
=>skwat: man kan vel bare lave en refresh på siden ... så køres scriptet igen og igen og ... men jeg kender ingen php-funktioner der kan det - tror heller ikke der findes én der kan.
man kan lave et cron job der håntere dette.. hvis php er instelleret som cgi-modul kan det laves i stil med et bash script bare med \"# /{sti}/php\" i toppen istedet for \"# /bin/bash\"
Hvis ikke kan man bruge lunx(en linux browser) til at eksikvere scriptet med. man kalder så lynx med urlen til scriptet fra sit cron job...
Jeg håber at computopic har en meget alvorlig server der kan håntere det. samt en meget voldsom forbindelse :) jeg vil mene at hvis man køre tjekket fire gange i timen må det være nok. Du resikere også at folk tror at du prøver at slå deres server ihjeld.
=>skwat: Min den gamle laver over 4.000 målinger på nettet mellem forskellige severe hvert. 5 min. på hans arbejde (med linux) ... Antallet af servere er selvfølgelig begrænset, men der er altså en hel del (et stort firma).
Jeg ved bare godt hvordan jeg vil reagere hvis jeg var ISP og en af brugerne begyndte at sende ip pakke rundt til forskellige ip\'er. men fred være med det jeg er ikke ISP :-)
Lav et etscript der ser nogenlunde sådan ud (inge garanti - det er ikke testet :o) )
<?php $databasefil = \"db.txt\"; /* Lav db.txt så den har en linje til hver side der skal chekkes: [URL]|[email] f.eks: http://www.schoebel.dk|simon@scheobel.dk http://www.eksperten.dk|webmaster@eksperten.dk osv */ $fp = fopen ($databasefil, \"r\"); $con = fread ($fp, filesize($databasefil)); fclose( $fp ); //con indeholder nu hele txt filen i een lang streng
$posts=split(\"\\n\",$con); // Nu har vi et array, lad os chekke siderne
for ($i=0;$i<sizeof($posts);$i++) { list ($url,$email) = split(\"\\|\",$posts[$i]); $fp=fopen($url,\"r\"); if (!$fp) { $tid=date(\"H:i\"); mail($email,\"Din side er nede\",\"Klokken $tid idag, da vi testede din side, kunne vi ikke connecte til den!\"); } else { fclose($fp); }
} ?>
log ind på telnet eller gå hen til serveren, og lav en crontab til at køre scriptet med:
Nu virker scriptet! Men hvis en af adresserne ikke svare kommer der bare denne fejl: Warning: fopen(\"http://www.smsmes.dk\",\"r\") - Bad file descriptor in /www/computopic.dk/alert/index.php3 on line 11
Men ellers virker det perfekt med ovenstående .. og scriptet sender da også mail ud til dem der har fejl.. Men hvordan kan dette rattes? - computopic
Kunne man lave en lille udvidelse.. så at scriptet skrive på siden en liste over de adresser den overvåger.. og ud for hver skrive om de er oppe eller nede?
Scriptet ser sådanud nu.. og virker. I får adressen når det køre..
Og hvis nogen vil overvåges kan i bare skrive til dk@computopic.dk så adder jeg bare til listen.. den opdatere hver time som det kan ses i scriptet..
<head> <meta http-equiv=\"refresh\" content=\"3600; url=index.php3\"> </head> Køre.. tester <?php $databasefil = \"db.txt\"; $fp = @fopen ($databasefil, \"r\"); $con = fread ($fp, filesize($databasefil)); fclose( $fp ); //con indeholder nu hele txt filen i een lang streng
$posts=split(\"\\n\",$con); // Nu har vi et array, lad os chekke siderne
for ($i=0;$i<sizeof($posts);$i++) { list ($url,$email) = split(\"\\|\",$posts[$i]); $fp=fopen($url,\"r\"); if (!$fp) { $tid=date(\"H:i\"); mail($email,\"Din side er nede\",\"Klokken $tid idag, da vi testede din side, kunne vi ikke connecte til den! mvh Computopic.dk\"); } else { fclose($fp); }
btw. hvis man læser dokumentationen for split() står der: - quote ------------------------------------------ Note that if you don\'t require the power of regular expressions, it is faster to use explode(), which doesn\'t incur the overhead of the regular expression engine. - quote ------------------------------------------
Hey Simon.. Scriptet virker.. og resultatet kan ses og benyttet på www.scriptzone.dk snart.. hvis det ikke allerede er oppe.. Scriptzone.dk er et sted lidt lige som eksperten.dk måske lidt mindre.. og anderledes..
Mvh Computopic
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.