Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1655 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [aide pour ptit script en bash!]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[aide pour ptit script en bash!]

n°209042
k666
dites non à petitmou
Posté le 09-01-2003 à 14:33:07  profilanswer
 

hello
j'aimerais mettre en place un ptit script pour relancer ma connexion internet quand ça marche plus :)
 
 
en fait l'algorithme seraitun truc de ce style:
 


 
variable X
 
test ethX si ping vers 192.168.0.1
 
  si ça pingue fais rien
 
  sinon
     RESULTAT =
        ifconfig ethX down
        ET rmmod usbvnet
        ET modprobe usbvnet
        ET iwconfig ethX essid pouet
        ET dhcpcd ethX
 
 
   si RESULTAT dis OK
 


 
voilà, je sais pas comment faire, je crois pas que ce soit très difficile à faire, le seul truc en fait que j'aimerais savoir c comment tester si ça pingue mon routeur .... voilà merci bcp si vous prenez le temps de m'aider :)


Message édité par k666 le 09-01-2003 à 14:33:33
mood
Publicité
Posté le 09-01-2003 à 14:33:07  profilanswer
 

n°209043
k666
dites non à petitmou
Posté le 09-01-2003 à 14:35:10  profilanswer
 

l'idée étant, à terme, de le mettre dans une crontab, car de temps en temps je suis déconnecté mystérieusement de mon réseau wireless ... j'aimerais tester voir si ça suffira de mettre ce ptit script :)
merci bcp encore

n°209049
Mjules
Modérateur
Parle dans le vide
Posté le 09-01-2003 à 14:52:40  profilanswer
 

aller, je suis gentil aujourd'hui :

Code :
  1. ping 192.168.0.1
  2. if [ $? -gt 0 ]; then
  3.     ifconfig ethX down
  4.     modprobe -r usbvnet
  5.     modprobe usbvnet
  6.     iwconfig ethX essid pouet
  7.     dhcpd ethX
  8.     echo "c'est bon, ça s'est relancé" > /ton_fichier_log
  9. else
  10.     exit 0
  11. fi


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°209053
k666
dites non à petitmou
Posté le 09-01-2003 à 15:10:45  profilanswer
 

hum en fait c un tout chtit chouilli plus complexe :
 
je veux, en fonction de ske ping me dit faire une ou l'autre des actions, ... il faudrait donc que je pipe le ping vers un grep mais en meme temps que je puisse m'en sortir ... car ping va pinguer continuellement :/
 
des fois j'ai ce type d'output:


PING 192.168.0.1 (192.168.0.1): 56 octets data
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.1, ret=-1
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.1, ret=-1
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.1, ret=-1
 


 
 
et des fois (i.e. quand ça marhce) jai ça:
 


 
[root@kpoman:~]$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 octets data
64 octets from 192.168.0.1: icmp_seq=0 ttl=254 time=3.8 ms
64 octets from 192.168.0.1: icmp_seq=1 ttl=254 time=4.1 ms
64 octets from 192.168.0.1: icmp_seq=2 ttl=254 time=3.9 ms
 


 
 
donc il me faudrait tester si j'ai du network is unreachable au moins 3 fois ... et dans ce cas fermer la commande ping et exécuter les bonnnes actions ... c toute cette partie que je sais pas du tout faire :)

n°209055
teagle
¤--ð Free My MiND ð--¤
Posté le 09-01-2003 à 15:15:06  profilanswer
 

k666 a écrit :

donc il me faudrait tester si j'ai du network is unreachable au moins 3 fois ... et dans ce cas fermer la commande ping et exécuter les bonnnes actions ... c toute cette partie que je sais pas du tout faire :)

Pour que le ping s'arrête:

Code :
  1. ping -c<nbre d'essais>


voir man ping

n°209057
k666
dites non à petitmou
Posté le 09-01-2003 à 15:16:37  profilanswer
 

mais ça marche pas quand le network is unreachable :/

n°209058
k666
dites non à petitmou
Posté le 09-01-2003 à 15:17:56  profilanswer
 

jveux dire: ça reste en attente du retour du ping:
 
[root@kpoman:~]$ ping -c 3 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 octets data
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.1, ret=-1
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.1, ret=-1
sendto: Network is unreachable
ping: sent 64 octets to 192.168.0.1, ret=-1
 
 
....
 
et là on n'a qu'à attendre que ça remarche un jour :/

n°209059
teagle
¤--ð Free My MiND ð--¤
Posté le 09-01-2003 à 15:18:25  profilanswer
 

k666 a écrit :

mais ça marche pas quand le network is unreachable :/

Il s'arrête pas quand le network est unreachable???! :heink:

n°209060
dsls
Posté le 09-01-2003 à 15:18:52  profilanswer
 

ping -w X quitte au bout de X secondes ...

n°209063
k666
dites non à petitmou
Posté le 09-01-2003 à 15:23:50  profilanswer
 

si, désolé il s'arrête bel et bien :) mais bon au bout de quinze secondes ou par là ...
 
pour l'instant le code qu ej'ai c ça:
 
 


#!/bin/sh
 
ping -c 3 192.168.0.1 | grep unreachable
if [ $? -gt 0 ]; then
        #ifconfig ethX down
        #modprobe -r usbvnet
        #modprobe usbvnet
        #iwconfig ethX essid pouet
        #dhcpd ethX
        echo "c'est bon, c,a s'est relance'"
else
        echo "la connexion marche toujours ..."
        #exit 0
fi
 
 


 
mais à chaque fois, meme si up ou down, il me balance c'est bon ce s'est relance... ?

mood
Publicité
Posté le 09-01-2003 à 15:23:50  profilanswer
 

n°209064
Mjules
Modérateur
Parle dans le vide
Posté le 09-01-2003 à 15:25:32  profilanswer
 

pourquoi t'as mis un grep ?
 
si il ne trouve pas le réseau ou qu'un paquet ne revient pas, il envoie 1 sinon, il envoie 0 (extrait du man) :
     
If  ping does not receive any reply packets at all it will
       exit with code 1. If a packet count and deadline are  both
       specified,  and  fewer  than count packets are received by
       the time the deadline has arrived, it will also exit  with
       code 1.  On other error it exits with code 2. Otherwise it
       exits with code 0. This makes it possible to use the  exit
       code to see if a host is alive or not.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°209069
k666
dites non à petitmou
Posté le 09-01-2003 à 15:36:06  profilanswer
 

en effet tu as raison :) ça marche!
 
en fait jvoulais faire ptêtre d'une autre façon histoire d'avoir ptêtre un peu plus la main sur les résultats du ping ?:
 
j'ai essayé ça:
 


if [ ping -c 3 192.168.0.1 | grep unreachable | wc -l -eq 0 ]; then


 
mais jvois pas pour quoi ça fonctionne pas ... ?

n°209114
teagle
¤--ð Free My MiND ð--¤
Posté le 09-01-2003 à 16:51:06  profilanswer
 

Peut-être plutôt ça:


if [ `ping -c 3 192.168.0.1 | grep unreachable | wc -l` -eq 0 ]; then

:pt1cable:


Message édité par teagle le 09-01-2003 à 17:38:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [aide pour ptit script en bash!]

 

Sujets relatifs
mplayer et les messages d erreur euh besoin d aide pour les decodes[problème réseau] qui devient lent :( aide pour trouver kesksé ??
Aide sur Dual Boot Win WP et Linux Red Hat avec Liloun peu d'aide : iptables !
cherche :un script qui me mailerai mon ip a chaque reconnexion[noob inside] besoin d'aide pour installer linux [guru linux needed]
script ftpAide pour multiboot [bouton recherche used]
linux toolbox cd bootable.... besoin d'aide...Pb script iptables : forward pop3
Plus de sujets relatifs à : [aide pour ptit script en bash!]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR