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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script linux pour relancer service

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script linux pour relancer service

n°818486
bandito600
Posté le 12-06-2006 à 17:41:26  profilanswer
 

Bonjour à tous
 
je suis novice en script linux et j'aimerais savoir comment je peux via un script lancer par un crontab tous les x minutes
vérifier l'existence d'un service et si celui ci est arrété ou en panne je relance le processus
 
en gros je veux vérifier l'existence d'un lien pptp entre mon serveur et un autre serveur
et si celui ci n'exisiste plus je le relance
 
pouvez vous m'aider ?
la je seche totalement
 
ps : je pensais faire avec une commande grep pour analyser le contenu du texte retourné
 
 

mood
Publicité
Posté le 12-06-2006 à 17:41:26  profilanswer
 

n°818613
franceso
Posté le 13-06-2006 à 09:19:27  profilanswer
 

pour vérifier si ton processus tourne, tu peux peut-être utiliser quelque chose comme 'pidof lenomdetondemon'


---------------
TriScale innov
n°818626
bandito600
Posté le 13-06-2006 à 10:05:51  profilanswer
 

Hello
 
je pense avoir résolu ma petite question
 
voici mon script
-------------------------------------------------------------
ps axf > /scripts/process
if grep mondémon /scripts/process ; then
 echo "le démon est présent, tout est normal"
  else
 cd /usr/sbin
 ./démon restart
 echo "restart du démon"
 echo "Arret du serveur de messagerie"
 qmailctl stop
 echo "Démarrage du serveur de messagerie"
 qmailctl start
 echo "rechargement des mails en attente"
 qmailctl doqueue
 echo "OK"
fi
 
ce n'est pas une méthode directe mais cela fonctionne
reste à le mettre dans le crontab

n°818640
bandito600
Posté le 13-06-2006 à 11:32:03  profilanswer
 

bandito600 a écrit :

Hello
 
ce n'est pas une méthode directe mais cela fonctionne
reste à le mettre dans le crontab


 
 
par contre le crontab ne fonctionne pas  
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /scripts/verif_process > /dev/null 2>&1
 
j'ai coupé manuellement mon lien et rien n'a été recréé
j'ai un peu de mal a comprendre la
 

n°818648
franceso
Posté le 13-06-2006 à 12:07:59  profilanswer
 

tu devrais rediriger la sortie de ton script vers un fichier de log ; comme ça tu verrais mieux ce qui se passe.


---------------
TriScale innov
n°818665
bandito600
Posté le 13-06-2006 à 13:16:30  profilanswer
 

franceso a écrit :

tu devrais rediriger la sortie de ton script vers un fichier de log ; comme ça tu verrais mieux ce qui se passe.


 
donc tous les 5mn je devrais voir dans mon log une ligne en + qui me dit que c ok ?
(car g mis si OK alors affiche OK)
par contre si rien ne s'ecrit est ce du a un pb avec le crontab ?

n°818670
bandito600
Posté le 13-06-2006 à 13:22:45  profilanswer
 

bon bé dans mon fichier de log
je vois bien que c ok
je vais essayer en plantant le lien

n°818674
bandito600
Posté le 13-06-2006 à 13:38:57  profilanswer
 

voici le message que j'obtiens alors qu'en lancement manuellement tout fonctionne parfaitement
 
-----------------------
Using interface ppp0
Connect: ppp0 <--> /dev/pts/0
sh: pptp: command not found
Modem hangup
Connection terminated.
lancement de la commande pour le lien effectuée Arret du serveur de messagerie Stopping qmail...
  qmail-smtpd
  qmail-send
  qmail-pop3d
Démarrage du serveur de messagerie
Starting qmail
rechargement des mails en attente
Sending ALRM signal to qmail-send.
OK
----------------------
 
quel est le pb ?
je ne vois pas du tout

n°818682
bandito600
Posté le 13-06-2006 à 14:03:47  profilanswer
 

bandito600 a écrit :


Using interface ppp0
Connect: ppp0 <--> /dev/pts/0
sh: pptp: command not found
Modem hangup
Connection terminated.
lancement de la commande pour le lien effectuée Arret du serveur de messagerie Stopping qmail...
  qmail-smtpd
  qmail-send
  qmail-pop3d
Démarrage du serveur de messagerie
Starting qmail
rechargement des mails en attente
Sending ALRM signal to qmail-send.
OK


 
quand je lance manuellement j'obtiens
 
Using interface ppp0
Connect: ppp0 <--> /dev/pts/0
CHAP authentification succeeded
local ip address 10.0.0.30
remote ip adress 10.0.0.31
lancement de la commande pour le lien effectuée Arret du serveur de messagerie Stopping qmail...
  qmail-smtpd
  qmail-send
  qmail-pop3d
Démarrage du serveur de messagerie
Starting qmail
rechargement des mails en attente
Sending ALRM signal to qmail-send.
OK
 
 
 
je ne vois pas pk pptp plante
 
quelqun aurait une idée ?
 
merci bcp

n°818689
franceso
Posté le 13-06-2006 à 14:09:20  profilanswer
 

il faut que tu précises le chemin complet de toutes les commandes lancées dans ton script. (en particulier dans ton cas : pptp)
 
pour connaitre le chemin complet d'un exécutable, utilise la commande which dans un terminal.


---------------
TriScale innov
mood
Publicité
Posté le 13-06-2006 à 14:09:20  profilanswer
 

n°818711
bandito600
Posté le 13-06-2006 à 14:58:15  profilanswer
 

franceso a écrit :

il faut que tu précises le chemin complet de toutes les commandes lancées dans ton script. (en particulier dans ton cas : pptp)
 
pour connaitre le chemin complet d'un exécutable, utilise la commande which dans un terminal.


 
 
mais je n'utilise que  
cd /usr/sbin  
 ./démon restart  
 
dois je faire ./usr/sbin/pppd ??
 
et le pptp je ne fais rien avec
par contre je lance ceci
"./pppd call client logfd 1 updetach"
dois je faire  
"./usr/sbin/pppd call client_vpn logfd 1 updetach"
 
 

n°818714
bandito600
Posté le 13-06-2006 à 15:03:14  profilanswer
 

je viens de remarquer avec la remarque que quand je lance la manip  
j'ai 2 process pptp qui sont lancés
fo que je creuse par la

n°818717
franceso
Posté le 13-06-2006 à 15:05:00  profilanswer
 

tu peux montrer ton crontab et le script en question stp ?


---------------
TriScale innov
n°818734
bandito600
Posté le 13-06-2006 à 15:33:50  profilanswer
 

le script :
-----------------------
#!/bin/sh
ps axf > /BACKUP/scripts/process
if grep pppd /BACKUP/scripts/process ; then
 echo "le lien pppd est présent, tout est normal"
  else
 cd /usr/sbin
 ./pppd call client_vpn logfd 1 updetach
 echo "lancement de la commande pour le lien effectuée"
 echo "Arret du serveur de messagerie"
 qmailctl stop
 echo "Démarrage du serveur de messagerie"
 qmailctl start
 echo "rechargement des mails en attente"
 qmailctl doqueue
 echo "OK"
fi
----------------------
le crontab
----------------------
# surveille le lien entre challenger et jupiter et en cas de coupure le remet
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /BACKUP/scripts/verif_process > /BACKUP/scripts/exec_ok.log


Message édité par bandito600 le 13-06-2006 à 15:40:26
n°818741
franceso
Posté le 13-06-2006 à 15:48:36  profilanswer
 

bizarre :??:
 
essaie peut-être d'ajouter le path de pptp dans ton script quand même (c'est sûrement pppd qui y fait appel).
Si tu ajoutes "export PATH=$PATH:<chemin vers pptp>" en-tete de ton script, est-ce que ça change quelque chose ?


---------------
TriScale innov
n°818748
bandito600
Posté le 13-06-2006 à 16:00:55  profilanswer
 

franceso a écrit :

bizarre :??:
 
essaie peut-être d'ajouter le path de pptp dans ton script quand même (c'est sûrement pppd qui y fait appel).
Si tu ajoutes "export PATH=$PATH:<chemin vers pptp>" en-tete de ton script, est-ce que ça change quelque chose ?


 
OK MERCI BCP
ca marche parfaitement maintenant
 
export sert à quoi ?

n°818763
franceso
Posté le 13-06-2006 à 17:01:32  profilanswer
 

export sert à signifier que la valeur de la variable PATH se transmettra à tous les processus fils.


---------------
TriScale innov
n°822362
youx21
Posté le 26-06-2006 à 15:02:42  profilanswer
 

bandito600 a écrit :

mais je n'utilise que  
cd /usr/sbin  
 ./démon restart  
 
dois je faire ./usr/sbin/pppd ??
 
et le pptp je ne fais rien avec
par contre je lance ceci
"./pppd call client logfd 1 updetach"
dois je faire  
"./usr/sbin/pppd call client_vpn logfd 1 updetach"


 
je suis pas sur qu'il faille mettre "./usr/sbin" ... essai sans le point devant "/usr/sbin" ... sa marchera mieux
 
 


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

  Script linux pour relancer service

 

Sujets relatifs
Une carte son équivalente à la Audigy 2 sous Linux?Est-il possible d'utiliser une imprimante WIFI sous Linux
[Pb] Connexion Ad-Hoc Windows LinuxLinux oui mais lequel choisir ? ? ?
probleme de dossier de destination sous linux[soft] modelisation de données sous linux
distribution Linux pour aquisition et montage vidéoNovell Linux Desktop [ creer un dvd bootable]
Script shellLinux sur clé USB + encryption disque dur
Plus de sujets relatifs à : Script linux pour relancer service


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