[Linux] Connaitre l'état d'un port

Connaitre l'état d'un port [Linux] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 18-06-2008 à 14:54:35    

Bonjour à tous,
 
Je suis débutant en linux et j'aurai voulu savoir si dans un script il était possible de récupéré l'état d'un port (down ou up) ?
 
Voilà précisément ce que je veux faire :

Code :
  1. if (port eth0 == up);
  2. then
  3.    démarré le serveur
  4. fi


 
Et une autre petite question : quelle est la commande pour savoir si mon serveur asterisk tourne.
 
Merci pour vos réponse.

Reply

Marsh Posté le 18-06-2008 à 14:54:35   

Reply

Marsh Posté le 18-06-2008 à 14:58:23    

miitools et ethtools t'aideront.
Je ne sais plus lequel est obsolete.

 

Sinon tu as d'autre manière plus propre de faire ca suivant ta distribution : lancer /relancer un script lorsque l'interface devient up. Quelle est ta distribution

 


Ensuite un coup de ps|grep te donnera la réponse

Message cité 1 fois
Message édité par o'gure le 18-06-2008 à 15:02:57

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

Marsh Posté le 18-06-2008 à 15:06:03    

c'est mii-tools qui est obsolète et remplacé par ethtools.
Pour asterisk, tu as plusieurs facon de faire, le plus basique c'est de simplement vérifier que le processus est bien lancé (avec "pgrep ou ps | grep" ). Après il y a sans doute moyen de faire plus évolué, un peu comme quand on récupère une page web sur un Apache pour vérifier qu'il fonctionne, mais ne connaissant pas trop Asterisk, je ne sais pas comment adapter le principe.

Reply

Marsh Posté le 18-06-2008 à 15:14:13    

Déjà merci pour le ps|grep.
 
Sinon, si j'ai besoin de tester l'interface, c'est dans le script du démarrage du serveur : il démarre astérisk si eth0 est up et sinon il le démarre pas.

Reply

Marsh Posté le 18-06-2008 à 15:15:38    

o'gure a écrit :

Sinon tu as d'autre manière plus propre de faire ca suivant ta distribution : lancer /relancer un script lorsque l'interface devient up. Quelle est ta distribution



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

Marsh Posté le 18-06-2008 à 15:16:50    

Désolé ...
 
La distrib est une debian.

Reply

Marsh Posté le 18-06-2008 à 15:25:25    

Donc soit tu mets ton script dans /etc/init.d/ avec lien dans le /etc/rc2.d. Ton script vérifie que le port est up puis lance asterisk

 

soit tu utilises : http://wiki.debian.org/DebianReference/Network
Dans le fichier /etc/network/interface tu peux utiliser la commande post-up dans la configuration de ton interface ou tu mets ton script dans le répertoire qui contient les scripts à exécuter lorsque une interface devient up.

 

Regarde la conf de postfix ou d'autre service qui font ca par défaut.


Message édité par o'gure le 18-06-2008 à 15:29:36

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

Marsh Posté le 18-06-2008 à 15:28:18    

Mais comment mon script vérifie-t-il que le port est up ? (désolé si la question est bête ...)

Reply

Marsh Posté le 18-06-2008 à 15:30:24    

avec la commande ethtools. installe et lis le manpage


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

Marsh Posté le 18-06-2008 à 15:31:42    

ou via ifplugstatus


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

Marsh Posté le 18-06-2008 à 15:31:42   

Reply

Marsh Posté le 18-06-2008 à 15:32:16    

ok et désolé pour être si débutant que ça ...
En fait j'arrive à utiliser ethtools en mode console mais j'arrive pas à récupérer la valeur de l'état dans mon script ...

Reply

Marsh Posté le 18-06-2008 à 15:32:51    

pour l'écriture de ton script tu peux utiliser http://aral.iut-rodez.fr/fr/sanchi [...] index.html


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

Marsh Posté le 18-06-2008 à 15:33:40    

en fait j'utiliserais ifplugstatus, plus facile à scripter (amha)


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

Marsh Posté le 18-06-2008 à 15:35:07    

ok je vais essayer de me débrouiller avec ça.
Merci pour ton aide :)


Message édité par infeneon le 18-06-2008 à 15:35:20
Reply

Marsh Posté le 19-06-2008 à 14:13:57    

Re-bonjour,
 
Je suis désolé mais l'appel d'ifplugstatus  me répond command not found ...
Comment faire pour l'utiliser ?
 
Merci d'avance pour répondre à cette question sûrement trivial ...


Message édité par infeneon le 19-06-2008 à 14:24:19
Reply

Marsh Posté le 19-06-2008 à 14:26:09    

"Command no found" : si tu ne parles absolument pas anglais
1. mets ta distribution en français
2. tentes une traduction via un traducteur en ligne

 

=> "Commande non trouvée"

 

>> La commande n'est pas installée, il faut donc l'installer

 

Si tu as une debian, via aptitude, apt-get, synaptic...
Si je te parles chinois :
http://wiki.debian.org/fr/QuickPackageManagement

 

Sinon  :
http://formation-debian.via.ecp.fr/


Message édité par o'gure le 19-06-2008 à 14:27:56

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

Marsh Posté le 19-06-2008 à 14:33:55    

J'avais bien compris qu'il ne connaissait pas la commande mais je ne savais pas comment l'installer.
Maintenant que j'ai installé synaptic, je n'arrive pas à trouver le gestionnaire je n'arrive pas à configurer les dépôt ...

Reply

Marsh Posté le 19-06-2008 à 15:10:54    

J'ai réussi à accéder à synaptic mais ... je ne trouve pas ifplugstatuts ..... comment l'installer ?

Reply

Marsh Posté le 19-06-2008 à 15:34:18    

installe le package ifplugd

Reply

Marsh Posté le 19-06-2008 à 16:26:13    

Merci énormément. J'arrive à l'utiliser :)
 
Bye

Reply

Marsh Posté le 20-06-2008 à 09:39:36    

Et me revoici pour une question sûrement encore très bête ...
 
Je voudrai exécuter un script quand je plug mon cable ethernet. J'ai essayé dans le /etc/ifplugd et dans le /etc/ifplugd/action.d mais le script ne s'exécute pas ... (j'ai bien mis le chmod en 755)
 
Merci pour votre aide :)

Reply

Marsh Posté le 20-06-2008 à 10:34:56    

J'ai bien trouvé devd qui ferait parfaitement l'affaire mais je sais pas à partir de quoi l'installer ...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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