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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Aide pour développer un script sous Debian

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour développer un script sous Debian

n°762875
Moof2
Posté le 16-12-2005 à 22:45:39  profilanswer
 

Bonjour,
 
Je suis sous Debian et je cherche à faire un script (démon ?) qui régulièrement (disons toutes les 5 minutes) vérifie que la connexion internet fonctionne bien (par exemple, en envoyant un ping sur google). Si la connexion n'est pas active, ce script écrit une ligne dans un fichier (par exemple : "jj/mm/aaaa h:min : internet marche po" ).
 
Voilà, je ne sais absolument pas comment faire ce genre de chose, ni quel langage de programmation il faut utiliser...
 
Je sais bien que google a réponse à tout, surtout pour ce genre de problème, mais le fait est que je ne sais même pas où chercher tellement je suis nul en la matière...
 
Merci !

mood
Publicité
Posté le 16-12-2005 à 22:45:39  profilanswer
 

n°762882
THRAK
- THR4K -
Posté le 16-12-2005 à 23:19:00  profilanswer
 

Regarde du côté de /etc/init.d/skeleton pour avoir un fichier d'exemple sur la façon dont est créé un daemon.
 
Sinon utilises un script shell (bash par défaut) que tu places dans ta crontab pour planifier son exécution comme souhaité.
 
Pour la rédaction du script en lui-même tu n'as pas besoin de trop chercher : une condition if qui teste si la connexion est inactive auquel cas tu balance ta ligne avec un simple echo "la_date_et_l'heure:echec" > emplacement/nom_du_fichier.
 
Pour les détails, cherche un peu  ;)


---------------
THRAK (def.) : 1) A sudden and precise impact moving from intention, direction and commitment, in service of an aim. 2) 117 guitars almost striking the same chord simultaneously.
n°762883
l0ky
Posté le 16-12-2005 à 23:21:21  profilanswer
 

Je verrais plutot un script lancer via crontab toutes les 5 minutes qu'un daemon...
Si tu veux faire un daemon, il  faut que tu te tapes le script d'init, la gestion des timers...
Alors qu'un simple script avec crontab peut le faire de maniere plus propre.

n°762889
THRAK
- THR4K -
Posté le 16-12-2005 à 23:28:32  profilanswer
 

l0ky a écrit :

Je verrais plutot un script lancer via crontab toutes les 5 minutes qu'un daemon...
Si tu veux faire un daemon, il  faut que tu te tapes le script d'init, la gestion des timers...
Alors qu'un simple script avec crontab peut le faire de maniere plus propre.


Bon c'est pas super-compliqué non plus de faire un daemon, mais c'est vrai que dans son cas un script cron tout bête évite déjà de ne pas avoir gérer un timer à l'exécution :jap:


---------------
THRAK (def.) : 1) A sudden and precise impact moving from intention, direction and commitment, in service of an aim. 2) 117 guitars almost striking the same chord simultaneously.
n°762916
MarmottePo​wer
Posté le 17-12-2005 à 04:03:37  profilanswer
 

+1 pour cron :)

n°763027
Moof2
Posté le 17-12-2005 à 14:38:14  profilanswer
 

Après quelques recherches et en suivant ce que vous m'avez dit, j'ai fait un script qui marche. Mais je ne comprends pas tout, si quelqu'un pouvait m'expliquer quelques points, ce serait sympa !
 

Code :
  1. #!/bin/sh
  2. STATE=0
  3. DATE=`date "+%d/%m/%y %H:%M:%S"`
  4. # à la ligne suivante, je ping google, mais je ne comprends pas ce que
  5. #veut dire " > /dev/null 2>&1"
  6. ping -c 1 216.239.59.147 > /dev/null 2>&1
  7. # Si j'ai bien compris si le ping marche, STATE passe à 1. Mais je ne
  8. #comprends rien du tout à la syntaxe...
  9. [ $? -eq 0 ] && STATE=1
  10. if [ $STATE -eq 0 ]; then
  11.    echo "$DATE connexion active">>log
  12. else
  13.    echo "$DATE connexion perdu">>log
  14. fi


 
Merci pour votre aide !

Message cité 1 fois
Message édité par Moof2 le 17-12-2005 à 14:38:59
n°763036
Profil sup​primé
Posté le 17-12-2005 à 15:15:00  answer
 

juste une suggestion, comme ca...
 
connexion perdue...
 
$? est la valeur de retour de ta derniere commande... donc,  
 
[ $? -eq 0 ] && STATE=1
 
si la derniere commande utilisée a renvoyé une erreur, alors STATE vaux 1.
 


Message édité par Profil supprimé le 17-12-2005 à 15:17:25
n°763038
minusplus
Posté le 17-12-2005 à 15:32:02  profilanswer
 

Moof2 a écrit :

Après quelques recherches et en suivant ce que vous m'avez dit, j'ai fait un script qui marche. Mais je ne comprends pas tout, si quelqu'un pouvait m'expliquer quelques points, ce serait sympa !
 

Code :
  1. #!/bin/sh
  2. STATE=0
  3. DATE=`date "+%d/%m/%y %H:%M:%S"`
  4. # à la ligne suivante, je ping google, mais je ne comprends pas ce que
  5. #veut dire " > /dev/null 2>&1"
  6. ping -c 1 216.239.59.147 > /dev/null 2>&1
  7. # Si j'ai bien compris si le ping marche, STATE passe à 1. Mais je ne
  8. #comprends rien du tout à la syntaxe...
  9. [ $? -eq 0 ] && STATE=1
  10. if [ $STATE -eq 0 ]; then
  11.    echo "$DATE connexion active">>log
  12. else
  13.    echo "$DATE connexion perdu">>log
  14. fi


 
Merci pour votre aide !


le "> /dev/null 2>&1" permet de renvoyer tout l'affichage de la commande ping vers /dev/null c'est à dire vers le vide intersidéral. ça évite que ton script remplisse le terminal chaque fois qu'il est lancé.  
 
le "[ $? -eq 0 ] && STATE=1" qui peut s'écrire plus simplement "test $? -eq 0 && STATE=1" ou de façon plus explicite  
 
if [ $? -eq 0 ]
then
   STATE=1
fi
 
teste la valeur de retour de la dernière commande exécutée ($?) et fixe la valeur de STATE en conséquence...

n°763057
e_esprit
Posté le 17-12-2005 à 16:54:11  profilanswer
 

Y sert à rien le STATE :D
 

Code :
  1. #!/bin/sh
  2.             DATE=`date "+%d/%m/%y %H:%M:%S"`
  3.            
  4.             # à la ligne suivante, je ping google, mais je ne comprends pas ce que
  5.             #veut dire " > /dev/null 2>&1"
  6.             ping -c 1 216.239.59.147 > /dev/null 2>&1
  7.            
  8.             if [ $? -eq 0 ]; then
  9.               echo "$DATE connexion active">>log
  10.             else
  11.               echo "$DATE connexion perdu">>log
  12.             fi


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Aide pour développer un script sous Debian

 

Sujets relatifs
Installer Debian sur son PC et Portable ![Debian] [RESOLU] apt-get upgrade kernel-image qui plante
Debian sur multiboot windowsPb apres install debian : nv_sata...
binaire debian = blocks défectueux...Debian : CD bootable
NAS Dell et DebianScript pour faire un mailing sur 1000 adresses emails
DebianDebian packages
Plus de sujets relatifs à : Aide pour développer un script sous Debian


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