"ALARM" - Vid conection drop

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

"ALARM" - Vid conection drop

Inlägg av Emil.s »

Har problem med att min lina dör lite då och då... Ibland längre fel, ibland kortare... Tror jag. Skulle iallafall vilja få mer exakta tidpunkter på när problemen egentligen inträffar.
Skulle behöva något som kollade uppkopplingen varje sekund, och när uppkopplingen bryts så skrivs det ut med wall eller något...

Kod: Markera allt

#!/bin/bash

while [ ping eller vad!? ==  funkar ]
sleep 1
else
echo fel | wall 
Typ.. Men hur ska man bära sig åt för att kolla om uppkopplingen funkar?
Home sweet ~/ = http://sandnabba.se
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: "ALARM" - Vid conection drop

Inlägg av Lars »

Ping är väl ett bra sätt att kolla med. Mitt förslag:

Kod: Markera allt

#!/bin/sh

while true; do
  if ! ping -c1 tillförlitligsever.se > /dev/null; then
      echo $(date): Fel | tee log.txt | wall
  fi
  sleep 1
done
Användarvisningsbild
farmfield
Inlägg: 8215
Blev medlem: 01 okt 2007, 17:23
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: H'sing Island
Kontakt:

Re: "ALARM" - Vid conection drop

Inlägg av farmfield »

Varje sekund känns dock som brutalt overkill, eller? Var 10e? 30e? Beror ju på hur ofta du tappar linan...
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Re: "ALARM" - Vid conection drop

Inlägg av Emil.s »

farmfield skrev:Varje sekund känns dock som brutalt overkill, eller? Var 10e? 30e? Beror ju på hur ofta du tappar linan...
Nej, det ger nog en rätt bra koll. var 5e funkar ju iof. Kan vara helt dött i 10-20 sec, så har man längre så är risken stor att man missar.

Ska testa Lars script.

Om jag förstår det rätt så retuneras 0/false om det blir någon som hellst output i en "if" sats?
Och då fel printas på "level2" eller hur det nu funkar så bryts det alltså då?

Dock så var jag tvungen att lägga till "-t X" för att ping inte ska ta så lång tid på sig...
Home sweet ~/ = http://sandnabba.se
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: "ALARM" - Vid conection drop

Inlägg av Lars »

Emil.s skrev:Om jag förstår det rätt så retuneras 0/false om det blir någon som hellst output i en "if" sats?
Och då fel printas på "level2" eller hur det nu funkar så bryts det alltså då?
If-satsen kollar returvärdet på ping-anropet, lite enkelt förklarat returnerar det true eller false beroende på om kommandot lyckas eller ej (egentligen ett värde > 0 vid fel). Utskriften från ping skickas till /dev/null och ignoreras.

Min variant fortsätter i oändlighet (while true) så att du ser hur lång tid det tar för nätet att komma tillbaka.
Användarvisningsbild
farmfield
Inlägg: 8215
Blev medlem: 01 okt 2007, 17:23
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: H'sing Island
Kontakt:

Re: "ALARM" - Vid conection drop

Inlägg av farmfield »

Emil.s skrev:
farmfield skrev:Varje sekund känns dock som brutalt overkill, eller? Var 10e? 30e? Beror ju på hur ofta du tappar linan...
Nej, det ger nog en rätt bra koll. var 5e funkar ju iof. Kan vara helt dött i 10-20 sec, så har man längre så är risken stor att man missar.
Fast tar det verkligen ingen prestanda (maskin/ram/io/nic?) att loopa en sånt script varje sekund..? Jo, jag ser hur enkelt det är, men ändå..?

Men det beror ju på vilken typ av nätförlust du har och om du bara vill kolla ibland snarare än att köra det 24/7...
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Re: "ALARM" - Vid conection drop

Inlägg av Emil.s »

farmfield skrev:
Emil.s skrev:
farmfield skrev:Varje sekund känns dock som brutalt overkill, eller? Var 10e? 30e? Beror ju på hur ofta du tappar linan...
Nej, det ger nog en rätt bra koll. var 5e funkar ju iof. Kan vara helt dött i 10-20 sec, så har man längre så är risken stor att man missar.
Fast tar det verkligen ingen prestanda (maskin/ram/io/nic?) att loopa en sånt script varje sekund..? Jo, jag ser hur enkelt det är, men ändå..?

Men det beror ju på vilken typ av nätförlust du har och om du bara vill kolla ibland snarare än att köra det 24/7...
Mja, har man 14k-modem så kanske man kan börja bry sig. Men 1 ping paket i sekunden på 64 bytes, dvs utan kilo före är inte allt för mycket. Faktiskt inte mer än ca 0.000014% av min totala bandbredd. ;)

EDIT:
NEJ NEJ, EMIL. Gör om gör rätt!
0.00011% Ska det givetvis vara. :)
Home sweet ~/ = http://sandnabba.se
Emil.s
Inlägg: 6633
Blev medlem: 12 dec 2006, 23:20
OS: Ubuntu
Ort: /Dalarna/Hedemora/
Kontakt:

Re: "ALARM" - Vid conection drop

Inlägg av Emil.s »

Sådär, har provat, och ändrat, och nu ser sciptet ut så här:

Kod: Markera allt

#!/bin/bash

while true; do
  if ! ping -c 1 -W 1 91.95.224.1 > /dev/null; then
      echo $(date): Fel | tee -a connection_drop.log
  else
  sleep 1
  fi
done
Problemet är dock lite enskillda paket som försvinner lite då och då pga olika anledningar. Skulle villja att 2 paket skickades (-c2), men det ska bara skrivas ut "Fel" om båda paketen försvunnit. Funderar på om det skulle funka om man ersatte "> /dev/null" med "| grep 100% packet loss" eller liknande?
Eller finns det något finare sätt? :)
Home sweet ~/ = http://sandnabba.se
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: "ALARM" - Vid conection drop

Inlägg av Konservburk »

ping returnerar väl sant bara något paket kommer fram? Så du borde inte behöva använda grep alls.
Skriv svar

Återgå till "Terminalforum"