Script linux pour relancer service

Script linux pour relancer service - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 12-06-2006 à 17:41:26    

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é
 
 

Reply

Marsh Posté le 12-06-2006 à 17:41:26   

Reply

Marsh Posté le 13-06-2006 à 09:19:27    

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


---------------
TriScale innov
Reply

Marsh Posté le 13-06-2006 à 10:05:51    

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

Reply

Marsh Posté le 13-06-2006 à 11:32:03    

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
 

Reply

Marsh Posté le 13-06-2006 à 12:07:59    

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


---------------
TriScale innov
Reply

Marsh Posté le 13-06-2006 à 13:16:30    

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 ?

Reply

Marsh Posté le 13-06-2006 à 13:22:45    

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

Reply

Marsh Posté le 13-06-2006 à 13:38:57    

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

Reply

Marsh Posté le 13-06-2006 à 14:03:47    

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

Reply

Marsh Posté le 13-06-2006 à 14:09:20    

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
Reply

Marsh Posté le 13-06-2006 à 14:09:20   

Reply

Marsh Posté le 13-06-2006 à 14:58:15    

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"
 
 

Reply

Marsh Posté le 13-06-2006 à 15:03:14    

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

Reply

Marsh Posté le 13-06-2006 à 15:05:00    

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


---------------
TriScale innov
Reply

Marsh Posté le 13-06-2006 à 15:33:50    

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
Reply

Marsh Posté le 13-06-2006 à 15:48:36    

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
Reply

Marsh Posté le 13-06-2006 à 16:00:55    

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 ?

Reply

Marsh Posté le 13-06-2006 à 17:01:32    

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


---------------
TriScale innov
Reply

Marsh Posté le 26-06-2006 à 15:02:42    

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
 
 

Reply

Sujets relatifs:

Leave a Replay

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