script cron

script cron - Linux et OS Alternatifs

Marsh Posté le 05-02-2002 à 00:36:50    

J'aimerais faire un cron qui check toutes les 5 min si mon serveur irc est up. Si il est down, il le relance en user.
Je crois que je dois regarder le pid contenu dans le fichier ircd.pid et le comparer aux applications lancées mais comme je suis aps très fort en scripting, je m'adresse à vous...
Voilà où j'en suis :

Code :
  1. #! /bin/sh
  2. cd /home/ircd
  3. if test -r ircd.pid
  4. then
  5.   ircdpid=`cat ircd.pid`


C'est à dire nulle part mais si vous pouviez m'aider, ce serait très sympa.

Reply

Marsh Posté le 05-02-2002 à 00:36:50   

Reply

Marsh Posté le 05-02-2002 à 01:04:38    

0-59/5 * * * *  /home/ircd/irc.sh 1>/dev/null       (pour ne logguer que les erreurs/ircd down  sinon on est assomé de mail )  
   
irc.sh  
   
#!/bin/sh  
   
cd /home/ircd  
   
if [ -f  irc.pid ]; then  
  pid=`cat irc.pid`  
  ps aux | grep $pid | grep -v grep || { echo "server is down"; exit 1; }  
  exit 0;  
else  
  echo " pas d'irc.pid  ! "  
  exit 1  
fi  
 
   
ou qq chose dans le genre ...

 

[edtdd]--Message édité par saudium--[/edtdd]


---------------
root 66
Reply

Marsh Posté le 05-02-2002 à 01:18:12    

la cron
5,10,15,20,25,30,35,40,45,50,55 * * * * /home/ircd/ircd.check >/dev/null 2>&1
 
le file
 
#!/bin/sh
IRCDDIR="/home/ircd"
HAVETORESTART=no
cd $IRCDDIR
if [ ! -f ircd.pid ]
then
        HAVETORESTART=yes
        else
        IRCDPID=`cat ircd.pid`
        if [ `ps -ux| grep ircd | grep $IRCDPID | grep -v -c grep` -eq 0 ]
        then
                HAVETORESTART=yes
        fi
fi
if [ "$HAVETORESTART" = "yes" ]
then
  rm -f ircd.pid
  echo -n `date` >>restart.log
  echo " -- Couldn't find ircd, restarting it" >>restart.log
  ./ircd
fi


---------------
Un clavier azerty en vaut deux.
Reply

Marsh Posté le 05-02-2002 à 09:08:57    

Un petit detail, pour moins se faire chier a taper, on peut faire:
 
*/5 * * * * /home/ircd/ircd.check >/dev/null 2>&1
 
Pour que ca se fasse ttes les 5 minutes :D
 
++

Reply

Marsh Posté le 05-02-2002 à 18:36:55    

merci bcp les gars, je vais tester de suite

Reply

Marsh Posté le 05-02-2002 à 18:38:48    

ah oui, un petit détail, l'ircd ne se lance qu'en utilisateur.
j'ai "peur" qu'avec cette commande  
echo " -- Couldn't find ircd, restarting it" >>restart.log
 ./ircd
 
il ne lance en root ?

Reply

Marsh Posté le 05-02-2002 à 18:45:57    

pas si tu cron le user  :D

 

[edtdd]--Message édité par _Evangelion_--[/edtdd]


---------------
Un clavier azerty en vaut deux.
Reply

Marsh Posté le 06-02-2002 à 12:39:23    

effectivement !  
MERCI BEAUCOUP A TOUS POUR VOTRE AIDE

Reply

Sujets relatifs:

Leave a Replay

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