Toon posts:

HULP script guru's hier melden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wie weet er wat er fout gaat in onderstaand script ?
--------------------------------------------------------
#!/bin/sh
jobline=`ing -c8 -l3 194.109.9.99 2>&1 | grep "unreachable"`

if [ $jobline != "0" ] then echo "hi " fi
---------------------------------------------------------

niet meteen gaan k*nkeren ik probeer tenminste scripting onder de knie te krijgen....

bvd

Peterj

  • Wilke
  • Registratie: December 2000
  • Laatst online: 19-08 20:10
Kun je uitleggen wat het script geacht wordt te doen precies, dat maakt het een stuk makkelijker om te kijken hoe of wat...

Verwijderd

moet nog een ; na de ] toch?

of misschien: if [ test "$jobline" != "0" ]; then echo "hi "; fi

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 09:03
-l optie mag alleen root doen (aannemende dat je ping bedoelt)


Verder, leg uit wat je precies wil berijken?

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 09:03
Op vrijdag 07 september 2001 14:30 schreef slierp het volgende:
moet nog een ; na de ] toch?

of misschien: if [ test "$jobline" != "0" ]; then echo "hi "; fi
Als hij bash gebruikt (sh symlinked bash ;) ) dan moet gewoon if [ ] kunnen, bash snapt dat default. Anders op een FHS complient systeem is [ een symlink naar test (heb ik begrepen van Linuxfromscratch)

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Wilke
  • Registratie: December 2000
  • Laatst online: 19-08 20:10
Ik denk dat ik hem al begrijp.

Je wilt gewoon zien of een host up of down is.


Maar op een of andere vage manier geeft mijn ping-versie helemaal geen 'unreachable' messages wanneer een host niet bestaat. Vreemd. Als de jouwe dat wel doet, probeer deze dan eens?
#!/bin/bash

jobline=`ping -c8 -l3 $1 2>&1 | grep "unreachable" | wc | awk '{print $1}'`

if test $jobline -ne 0; then echo "Host down!"; fi
Oh ja, ik heb een parameter gemaakt van het IP-adres. Dus je moet het script aanroepen met ./script 194.109.9.99. Als je dat niet wilt kun je hem natuurlijk weer gewoon op de plek van de eerste '$1' zetten.
[Edit: info toevoegen]

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 09:03
Op vrijdag 07 september 2001 14:43 schreef Wilke het volgende:

Maar op een of andere vage manier geeft mijn ping-versie helemaal geen 'unreachable' messages wanneer een host niet bestaat. Vreemd. Als de jouwe dat wel doet, probeer deze dan eens?

[knippedieknip]
Unix pings geven geen unreachable afaik, herrinner ik me net. Alleen M$ ping doet dat

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


Verwijderd

Topicstarter
Wow.....zo'n snelle reactie had ik niet verwacht. Idd ik wil mb.v. een scriptje kijken of mijn internet connectie nog werk.... het echo "hi" wordt later door een connect scriptje....

of heeft er iemand een beter idee om een ADSL link met PPTP en een ADSLLOGIN script 24/7 up te houden ?

toch iedereen bedankt voor zijn replies

peterj

  • deadinspace
  • Registratie: Juni 2001
  • Nu online

deadinspace

The what goes where now?

2 dingen:

Je wilt misschien 'fping' (zul je wrs wel los moeten installen) gebruiken; deze is wat prettiger voor in scripts ivm zijn opties.

Je kunt veel beter naar de returnwaarde van ping of fping kijken dan de output te greppen op unreachable ofzo.
Alle programma's die je start geven een returnwaarde van 0 tot 255. 0 betekent dat alles Ok ging, zonder errors, en >0 betekent dat er wat fout ging (wat de waarde betekent verschilt per programma).
Ik weet zo snel niet wanneer ping en fping precies non-nul returnen, maar hier is vast iets mee te doen.
'$?' is in sh de returnwaarde van het laatst gestarte programma.

Verwijderd

Op vrijdag 07 september 2001 16:17 schreef jansenp het volgende:
of heeft er iemand een beter idee om een ADSL link met PPTP en een ADSLLOGIN script 24/7 up te houden ?

toch iedereen bedankt voor zijn replies

peterj
adsllogin niet gebruiken.
Je kunt als je altijd connectie wil beter pppd laten opstarten mbv je startup scripts of init.

mijn /etc/ppp/peers/mxstream:
code:
1
2
3
4
5
6
7
8
idle 0
noauth
user [censored]@xs4all-basic-adsl
usepeerdns
defaultroute
linkname mxstream
pty "/usr/sbin/pptp 10.0.0.138 --nolaunchpppd --phone pc1"
persist

mijn /etc/ppp/pap-secrets
code:
1
[censored]@xs4all-basic-adsl    *    "[censored password]"    *

regel in /etc/inittab:
code:
1
12:345:respawn:/usr/sbin/pppd call mxstream > /dev/tty12

Gevolg: altijd online, als de connectie wordt verbroken connect pppd opnieuw, als pppd gekilld wordt start init pppd opnieuw :)
Pagina: 1