[Résolu]-- script pour relancer la carte réseau

-- script pour relancer la carte réseau [Résolu] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 25-01-2010 à 14:54:10    

Bonjour,
Nouveau sous ubuntu et plus principalement sous xubuntu je suis victime d’un problème réseau au niveau de mon système j’ai énormément de message  eth0: excessive work at interrupt dans mes logs. Le système étant hébergé sur une dedibox, je suis obligé d’effectuer un redémarrage à distance via la console d’administration du site dedibox.
Je pensais créer une sorte de bath ou de script permettant de relancer la carte réseau si celle-ci ne répond plus au ping de la passerelle.
J’ai besoin d’aide pour réaliser cela car pour le moment je n’ai pas les connaissances adéquates ..
merci


Message édité par Profil supprimé le 27-01-2010 à 11:11:19
Reply

Marsh Posté le 25-01-2010 à 14:54:10   

Reply

Marsh Posté le 25-01-2010 à 16:13:25    

Je suis pas le seul ça me rassure http://www.dedibox-news.com/sujet-5722-1.html donc comme énoncé sur le site, je vais effectuer un petit script qui va effectuer un ping de la passerelle et qui en fonction du résultat va redémarrer le réseau. Je m'inspire du code et j'obtiens :
 
a=$(ping -c 1 88.191.59.1 |grep transmitted|awk '{ print($4) }')
b=1
 
 
if [ "$a" -eq "$b" ]
then
  date >> /var/log/test_net
else
  date >> /var/log/test_net
  echo reseau HS >> /var/log/test_net
  /etc/init.d/networking restart
fi
 
Je présume que ce code est correct, mais avec quelle extension dois-je l'enregistrer ? et où dois-je le placer ? merci

Reply

Marsh Posté le 25-01-2010 à 18:17:17    

ajoute ceci au debut de ton script:
#!/bin/sh

 

ensuite tu nomme ton fichier comme ceci par exemple nettest.sh
tu le rend exectublable:
chmod 700 nettest.sh
et tu le refile a root:
chown root:root netttest.sh
ensuite tu le mets dans cron, en root bien sur

 

edit: la ligne crontab :
* * * * * /root/netttest.sh > /dev/null

 

re-edit: j'oubliais c'est super naze comme truc.

 


Message édité par ducon3d le 25-01-2010 à 18:26:04
Reply

Marsh Posté le 25-01-2010 à 19:01:36    

Merci de m'avoir répondu.
 
Par contre j'ai besoin de quelques explications.
Quand tu dis tu le refiles à root, ça veut dire que tu le rends propriétaire à root uniquement c'est bien ça ?
 
Pour le moment je galère avec crontab, dois-je faire un :
sudo crontab -e ?  

Reply

Marsh Posté le 25-01-2010 à 20:42:46    

oui le script tu lui met comme proprietaire root.
mais is tu fais tout en root depuis le debut ce sera le cas par defaut.
sur ubuntu (donc la version gnome) dans un terminal tu fais (// truc c'est du commentaire donc a ne pas taper):
sudo -s //passe en root
gedit /root/nettest.sh // la tu colle le script (cf ci-dessous) et tu sauvegarde et tu quitte.
chmod 700 /root/nettest.sh
echo "* * * * * /root/nettest.sh >/dev/null" >> /etc/crontab // c'est bien >> et surtout pas >
exit
 
#!/bin/sh
 
a=$(ping -c 1 88.191.59.1 |grep transmitted|awk '{ print($4) }')
b=1
 
if [ "$a" -eq "$b" ]
then
  date >> /var/log/test_net
else
  date >> /var/log/test_net
  echo reseau HS >> /var/log/test_net
  /etc/init.d/networking restart
fi  
 
 
 
voila, mais j'ai pas teste, de plus je te le repete c'est une solution tres naze.
 
faudrais trouver un meilleur workaround que ca.

Reply

Marsh Posté le 26-01-2010 à 21:15:57    

Ayant encore eu ma déconnexion, je viens tout juste d'appliquer à la lettre ce que tu m'as conseillé, je pense que ça va fonctionner.
 
Je suis d'accord avec toi sur le principe que c'est très laid comme contournement... mais c'est pour le moment la seule chose que j'ai trouvé sur le net pour palier au problème.
 
En tout cas merci de m'avoir répondu.

Reply

Marsh Posté le 27-01-2010 à 01:33:34    

Plus de réseau à nouveau, cela n'a pas fonctionné... peut-on vérifier l'application de la crontab ?

Reply

Marsh Posté le 27-01-2010 à 02:22:54    

cat /var/log/test_net

Reply

Marsh Posté le 27-01-2010 à 02:26:57    

Le fichier n'existe pas

Reply

Marsh Posté le 27-01-2010 à 02:41:01    

donc le script ne tourne pas.
lance le script manuellement pour tester
/root/netttest.sh
maintenant le log devrais exister.(verifie)
 
puis verfie le cron.
crontab -e

Reply

Marsh Posté le 27-01-2010 à 02:41:01   

Reply

Marsh Posté le 27-01-2010 à 02:49:18    

root@sd-123456: /root# sh nettest.sh
 
rien dans /var/log
 
et le crontab -e est vide  :sweat:


Message édité par Profil supprimé le 27-01-2010 à 02:50:52
Reply

Marsh Posté le 27-01-2010 à 03:31:27    

je viens de tester le script, il marche.
(et ca log aussi)
 
donc verifie tes droits pour commencer
ls -l /root/netttest.sh
ca doit donner ca:
-rwx------ 1 root root blabla...
 
je vais regarder pour cron.

Reply

Marsh Posté le 27-01-2010 à 03:39:01    

edite /etc/crontab pour ajouter a la ligne ce que j'ai mis en gras:
echo "* * * * * root /root/nettest.sh >/dev/null"

 

ca corrige le petit probleme de cron
toujours est-il que le script marche, hors tu n'arrive pas a le lancer a la main, donc tu as un probleme de droits sans doute.


Message édité par ducon3d le 27-01-2010 à 03:39:13
Reply

Marsh Posté le 27-01-2010 à 09:51:55    

Le ls -l donne
-rwx------ 1 root root  246 2010-01-26 21:09 nettest.sh   (nettest.sh apparait en vert)
J'ai bien édité le fichier cron en écrivant :  sudo gedit /etc/crontab
et j'ai collé ce que tu as écris echo "* * * * * root /root/nettest.sh >/dev/null"  (avec les guillemets)
Le fichier étant vide, j'ai sauvegardé puis j'ai fait un crontab -e et là je constate que le fichier est de nouveau vide, comme s'il s'agissait d'un fichier temporaire car nano indique le chemin Fichier : /tmp/crontab.bnI5tQ/crontab et à chaque crontab -e le nom change

Reply

Marsh Posté le 27-01-2010 à 10:26:57    

Le script fonctionne, il n'y a plus que crontab qui me pose problème

Reply

Marsh Posté le 27-01-2010 à 11:10:26    

Il semble que cela fonctionne toutes les minutes. J'avoue que c'est très moche comme solution.
J'ai lu sur un site qu'il était possible de changer de kernel, http://www.placeoweb.com/dotclear/ [...] 5-00000000  
concrètement que se passera-t-il si j'effectue ce changement ? je vais tout perdre ?

Reply

Marsh Posté le 27-01-2010 à 13:19:27    

non tu ne perd pas tout, tu perd rien. c'est juste une mise a jour de kernel.
 
si tu suis bien la procedure il y aura pas de probleme.
par contre ne te foire pas sur le fichier de conf de grub.

Reply

Marsh Posté le 27-01-2010 à 14:25:03    

J'ai une dédibox V1 (avec un CPU VIA 2ghz C7) et selon moi ce n'est pas une version amd64, du coup je ne vois pas quel kernel prendre.

Reply

Marsh Posté le 27-01-2010 à 14:28:15    

Vérifie dans /proc quel type de processeur tu as.


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 27-01-2010 à 14:40:08    

model name : VIA Esther processor 2000MHz

Reply

Marsh Posté le 27-01-2010 à 15:12:04    

dans ce cas il te faut un kernel 32bit.
mais de toute facon dans le tuto que tu as trouve ils utilisent apt, donc aucun probleme pour trouver un nouveau kernel.

Reply

Marsh Posté le 27-01-2010 à 23:29:50    

Plus précisément quel kernel ?  
 
Mauvaise nouvelle, quelque chose n'a pas fonctionné, ce soir vers 22h40 j'ai perdu la connexion et j'ai laissé un peu la machine tournée pour voir si elle allait reprendre d'elle même, mais non. Je regarde donc le log test_net et je constate qu'entre 22h40 (heure de la perte de connexion) et 23h10 (heure du reboot via le site dedibox) aucun nouvel élément n'a été inscrit dans le fichier alors que d'habitude une nouvelle entrée arrive après chaque minute. Et par contre si j'ai bien compris le code je devrai voir "echo reseau HS" dans le log et ce n'est pas le cas.

Reply

Marsh Posté le 28-01-2010 à 18:32:52    

faut verifier le script alors, je regarderai ca ce soir si j'ai le temps

 

edit: change de kernel si ca arrange le probleme. pour trouver la version fait ce qu'il y a dans le tuto, et dis nous ou tu coince...


Message édité par ducon3d le 28-01-2010 à 18:43:09
Reply

Marsh Posté le 28-01-2010 à 21:14:55    

bruno@sd-12426:~$ uname -a
Linux sd-12426 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:48:10 UTC 2009 i686 GNU/Linux
bruno@sd-12426:~$ sudo apt-get install linux-image-2.6.25.4dedibox-r9-smp-x32 - Linux kernel binary image for version 2.6.25.4dedibox-r9-smp-x32
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances        
Lecture des informations d'état... Fait
linux-image-2.6.25.4dedibox-r9-smp-x32 est déjà la plus récente version disponible.
E: Impossible de trouver le paquet Linux


 
La liste des kernels disponibles se trouvant ici http://forum.hardware.fr/hfr/OSAlt [...] m#t1195520

Reply

Marsh Posté le 28-01-2010 à 22:17:24    

uname -a donne le nom du kernel qui tourne.
et la reponse est 2.6.28
qui n'est pas un kernel "dedibox", ce qui n'est pas particulierement un probleme normalement, mais pourquoi as-tu cette version ? tu as trafique un truc ?
 
le dernier kernel dedibox est un 2.6.25
 
fais donc ceci et donne le resultat:
dpkg -l | grep linux-image
cat /boot/grub/menu.lst

Reply

Marsh Posté le 01-02-2010 à 23:29:19    

Finalement j'ai changé de version d'ubuntu en optant pour une version server
butor@sd-12426:/home$ uname -a
Linux sd-12426 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:48:10 UTC 2009 i686 GNU/Linux
Pour le moment plus de problèmes.
Merci pour ton aide.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed