Avatar billede mjl Nybegynder
19. marts 2002 - 16:39 Der er 23 kommentarer og
1 løsning

Lave ping_script til Linux...

Hej der...

Jeg ved, at man kan lave et "ping script" i PHP som bruger ping.exe (Windows-program) - nu ligger det sådan, at min side ligger på en Linux-kværn.

Er der nogen, der kan lave et ping_IP og se om jeg er online script, der vil virke på Linux?

Er 30 points nok?
Avatar billede dmcn Praktikant
19. marts 2002 - 16:45 #1
Jeg har selv følgende liggende. Hvis du kan pille det relevante ud og kode noget brugbart, så kan du få den kvit og frit. :P
Forklaring: Min køres hvert 3. minut via et cronjob, og pinger en server. Resultatet gemmes i textfilen log.txt.

<?
$ip = "din_ip";
$fil = "log.txt";

$ping = `ping -c 1 $ip`;
if (ereg("time=", $ping)) {
    $msg = "Ok";
} else {
    $msg = "Failed";
}
$input = date("H.i:s - m.d.y")." - Status: $msg\n";
print "$input";
$fp = fopen("$fil","a");
$antal_linier = count(file($fil));
$antal_linier++;
$input = $antal_linier." : ".$input;
fputs($fp,$input);
fclose($fp);
?>
Avatar billede mjl Nybegynder
19. marts 2002 - 16:56 #2
Jeg prøver lige, om jeg kan finde ud af noget.....
Avatar billede mjl Nybegynder
19. marts 2002 - 17:00 #3
PING xx.xx.xx.xx (xx.xxx.xxx.xx) from xxx.xxx.xx.xxx : 56(84) bytes of data. --- xx.xxx.xxx.xx ping statistics --- 1 packets transmitted, 0 packets received, 100% packet loss

Betyder dette resultat, at den ikke pinger en skid?
Avatar billede dmcn Praktikant
19. marts 2002 - 17:02 #4
Det kunne se sådan ud. Må vi se lidt kode?
Avatar billede mjl Nybegynder
19. marts 2002 - 17:04 #5
<?
$ip = "xx.xx.xx.xx";

$ping = `ping -c 1 $ip`;
if ($ping) {
echo $ping;
} else {
echo "Failed";
}
?>
Avatar billede dmcn Praktikant
19. marts 2002 - 17:09 #6
Jeg har lige prøvet samme ping-kommando fra min linuxbox til min winbox (2 forskellige eksterne IP-adresser), og den gik fint igennem.
Dog vil $ping altid validere sand, så vi må hellere rette lidt til:
<?php
$ip = "xx.xx.xx.xx";

$ping = `ping -c 1 $ip`;
if (ereg("time=", $ping)) {
    $msg = "Ok - $ping";
} else {
    $msg = "Failed - $ping";
}
?>

Prøv den, og skriv tilbage.
Avatar billede mjl Nybegynder
19. marts 2002 - 17:09 #7
Koden er måske lavet forkert?
Avatar billede dmcn Praktikant
19. marts 2002 - 17:11 #8
Koden burde være rigtig nok - den virker da ok her. :)
Avatar billede mjl Nybegynder
19. marts 2002 - 17:13 #9
Sorry....skrev samtidigt med at du postede....men jeg har lige prøvet den, men den echoer ikke noget
Avatar billede mjl Nybegynder
19. marts 2002 - 17:13 #10
"time=" skal det se sådan ud?
Avatar billede dmcn Praktikant
19. marts 2002 - 17:14 #11
Nej, selvfølgelig ikke - jeg har jo glemt at udskifte $msg = med en echo. My bad, kan du selv rette det?
Avatar billede dmcn Praktikant
19. marts 2002 - 17:16 #12
Og ja, ereg'en skal se sådan ud. Når du kører ping på en linuxmaskine vil den outputte en stak information, og time=tiden_det_tog er en af dem. Dette outputter den ikke når den ikke får noget svar, og derfor kan man tjekke på den. Forståeligt?
Avatar billede mjl Nybegynder
19. marts 2002 - 17:18 #13
Failed - PING xx.xx.xx.xx (xx.xxx.xxx.xx) from xxx.xxx.xx.xxx : 56(84) bytes of data. --- xx.xxx.xxx.xx ping statistics --- 1 packets transmitted, 0 packets received, 100% packet loss

Er nu resultatet
Avatar billede dmcn Praktikant
19. marts 2002 - 17:19 #14
n0rmality@Munin:/$ ping -c 1 xx.xx.xx.xx
PING xx.xx.xx.xx (xx.xx.xx.xx): 56 data bytes
64 bytes from xx.xx.xx.xx: icmp_seq=0 ttl=128 time=0.9 ms

--- xx.xx.xx.xx ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.9/0.9/0.9 ms
n0rmality@Munin:/$

Sådan ser outputtet ud på en linuxmaskine når ping er kørt.
Avatar billede dmcn Praktikant
19. marts 2002 - 17:20 #15
Hmm... hvor ligger din fil? Webhotel? Egen computer? Hvilken linux kører du? Kører du firewall? Router? Og hvilken computer pinger du?
Avatar billede mjl Nybegynder
19. marts 2002 - 17:20 #16
øv øv øv
Avatar billede mjl Nybegynder
19. marts 2002 - 17:21 #17
2 sek
Avatar billede dmcn Praktikant
19. marts 2002 - 17:22 #18
n0rmality@Munin:/$ ping -c 1 128.232.231.22
PING 128.232.231.22 (128.232.231.22): 56 data bytes

--- 128.232.231.22 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
n0rmality@Munin:/$

Og sådan ser det ud når linux ikke modtager noget svar.
Avatar billede mjl Nybegynder
19. marts 2002 - 17:24 #19
He he - det var min firewall....nu virker det.....10.000 tak
Avatar billede dmcn Praktikant
19. marts 2002 - 17:25 #20
No problemo - læg et svar selv, og accepter det. Det var sjovt. :)
Avatar billede mjl Nybegynder
19. marts 2002 - 17:26 #21
Nej nej....du skal da ha' points, for al den gode hjælp!!!! Så venligst læg et svar!! :o)
Avatar billede dmcn Praktikant
19. marts 2002 - 17:27 #22
Argh! Så skidt da. :)
Avatar billede mjl Nybegynder
19. marts 2002 - 17:29 #23
1000 tak igen - har rodet med det i flere dage....
Avatar billede dmcn Praktikant
19. marts 2002 - 17:31 #24
hehe - det var da så lidt. :) Altid sjovt at rode med den slags.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester