killzelolo Posté(e) le 12 octobre 2007 Partager Posté(e) le 12 octobre 2007 bonjour tout le monde!! j'ai une petite question sur le redémarrage d'un sevice sous Linux (RedHat 7.3): j'ai un service (caagent, c'est un agent de sauvegarde du logiciel de backup Arcserve) qui de temps en temps s'arrête et je bne sais absolument pas pourquoi.. je suis aller voir dans les logs de cet agent, et il n'y avait rien de concret.. ce que je cherche à faire, c'est de faire redémarrer le service automatiquement lorsqu'il s'arrête... je sais faire sous Windows (dans les propriétés des services) mais sous Linux j'en ai aucune idée... Est-ce que c'est possible?? si oui, comment on peut faire? Merci d'avance, Lien vers le commentaire Partager sur d’autres sites More sharing options...
seishiro Posté(e) le 16 octobre 2007 Partager Posté(e) le 16 octobre 2007 Perso je ferais cela par script. Un je teste si les focntions du deamon réponde bien à intervall régulier. Si cela ne marche pas je vérifie que le deamon est n'est plus présent si c'est le cas c'est qu'il est craché Je récupère le PID je le kill et je relance le deamon via mon fichier Init .... Facile non? Lien vers le commentaire Partager sur d’autres sites More sharing options...
killzelolo Posté(e) le 16 octobre 2007 Auteur Partager Posté(e) le 16 octobre 2007 ouais facile... mais j'avoue n'être pas bien pote avec le scripting.... mais je vais essayer quand même, j'y avais pas pensé... Lien vers le commentaire Partager sur d’autres sites More sharing options...
SnipX Posté(e) le 16 octobre 2007 Partager Posté(e) le 16 octobre 2007 Oui j'aurais dit pareil. M'enfin c'est louche que ne trouves rien dans les logs ? Surtout pour un crash comme ça. Il n'y a pas un rang level dans le fichier de conf pour les logs ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
seishiro Posté(e) le 16 octobre 2007 Partager Posté(e) le 16 octobre 2007 Oui j'aurais dit pareil.M'enfin c'est louche que ne trouves rien dans les logs ? Surtout pour un crash comme ça. Il n'y a pas un rang level dans le fichier de conf pour les logs ? Perso j'ai le problème avec une application elle crash sans raison .... Du coup j'ai un script qui fait cela Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 16 octobre 2007 Partager Posté(e) le 16 octobre 2007 ça vaudrait le coup de faire un strace > fichier.log et matter pour quelle raison elle crash... Lien vers le commentaire Partager sur d’autres sites More sharing options...
killzelolo Posté(e) le 16 octobre 2007 Auteur Partager Posté(e) le 16 octobre 2007 ouais c'est vraique moi aussi ça me parait bien louche qu'il n'y ai pas de traces dans les logs... mais j'ai bien regardé dans les logs de l'agent CA, et il n'y a vraiment rien qui indique qu'il s'arrete ou qu'il redémarre... Lien vers le commentaire Partager sur d’autres sites More sharing options...
killzelolo Posté(e) le 6 novembre 2007 Auteur Partager Posté(e) le 6 novembre 2007 seishiro, pourrait-tu me donner un exemple de ton script, parce-que là je sèche... merki Lien vers le commentaire Partager sur d’autres sites More sharing options...
Marco07 Posté(e) le 15 novembre 2007 Partager Posté(e) le 15 novembre 2007 script home made assez simple à modifier ( il teste la connection vpn, si vpn inactif alors il tue les démons amule&mldonkey et teste tous les démons si nécessaire les redémarre et rédemarre le réseau & connection vpn il teste si clé de reboot copié dans repertoire partagé(samba) si oui reboot (ça évite ssh ) il met tout dans un log il efface les logs et affiche l'espace disqo & liste fichiers dispo sur partage samba ^^ ) plus qu 'a piocher ce qui t'intéresse moi perso il est dans /usr/mbin un script lamba le lance au démarrage si nécessaire démande j'ai modifié qqs infos par des xxx si qqn à des commentaires pour améliorer le script parce que c pas du grand art pas de souci avec pour l'instant tourne 24/24 365/365 #!/bin/sh interval="10" log="/var/log/checkd.log" tp="/var/log/checkd.tmp" dmon1="/usr/bin/amuled" dmon1stat="0" dmon2="mlnet" dmon3="samba" dmon4="/usr/sbin/sshd" via3="/media/hda4/TMP/DLD" via1="/media/hda4/ML/DLD" via2="/media/hda4/ML/DIR" #Cle de reboot nom="/media/hda4/DLD/key.reboot" valeur="xxxxxxxxxxx" #Info partoche inf="/media/hda4/DLD/Info.rtf" # Test fichier log # Si fichier log inexistant, le creer if [ -e $log ] then echo "Programme démarré : `date`" >> $log else echo "Fichier log $log inexistant" >$log if [ -e $log ] then echo "Fichier log crée : `date`" >> $log else echo "Impossible de creer un fichier log" exit 1 fi fi sh /etc/init.d/mldonkey-server start >> $log # test connection while(true) do ## ICI on programme la cle de reboot if [ -e $nom ] then if cat $nom | egrep $valeur > /dev/null then echo "Reboot par cle : `date`" >> $log rm $nom sleep 30 init 6 else rm $nom echo "Reboot par cle a echoue : `date`" >> $log fi else sleep 1 fi ## Ensuite on efface les logs regulierement #rm /var/log/*.0 #rm /var/log/*.gz > /var/log/syslog > /var/log/daemon.log > /var/log/kern.log ## Ensuite prog info part echo "Information sur espace disque disponible : `date`" > $inf df -h /dev/hda3 >> $inf echo " " >> $inf echo "Liste des fichiers" >> $inf echo " " >> $inf du -h /media/hda4/DLD/* >> $inf if route -n | egrep xx.xx.xx.xx > /dev/null then # si la connection a relakks est bien établie alors on vérifie les démons # alors on liste la table des processus # echo "connection relakks active" ##Comme la connection a relakks est effective, on va tester un a un les demons... ##Pour faire ça correctement on va creer un fichier tmp pour stoquer la table des processus ps ax > $tp sleep 5 # #dmon1 # if cat $tp | egrep $dmon1 > /dev/null # then # #echo "'$dmon1' actif" # sleep 1 # else # echo "'$dmon1' inactif : `date`" >> $log # sh /etc/init.d/amule-daemon start >> $log # fi #dmon2 if cat $tp | egrep $dmon2 > /dev/null then #echo "'$dmon2' actif" sleep 1 else echo "'$dmon2' inactif : `date`" >> $log if [ -e /var/lib/mldonkey/mlnet.pid ] then rm /var/lib/mldonkey/mlnet.pid fi sh /etc/init.d/mldonkey-server start >> $log fi #dmon3 if cat $tp | egrep smbd > /dev/null then sleep 1 #echo "'$dmon3' actif" else echo "'$dmon3' inactif : `date`" >> $log sh /etc/init.d/samba restart >> $log fi #dmon3 bis if cat $tp | egrep nmbd > /dev/null then sleep 1 #echo "'$dmon3' bis actif" else echo "'$dmon3' inactif : `date`" >> $log sh /etc/init.d/samba start >> $log fi #dmon4 if cat $tp | egrep $dmon4 > /dev/null then #echo "'$dmon4' actif" sleep 1 else echo "'$dmon4' inactif : `date`" >> $log sh /etc/init.d/ssh start >> $log sleep 10 fi sleep $interval else echo "connection relakks inactive `date`" >> $log ## Ici La connection relakks est inactive, on va determiner si c'est la connection wifi,lan ou vpn qui est en cause if route -n | egrep 192.168.1.0 > /dev/null then echo "`date` vpn déconnecté, la connection au réseau local est ok" >> $log killall $dmon1 killall $dmon2 pon Relakks echo "`date` reconnection vpn via : pon Relakks" >> $log sleep $interval else echo "`date` la connection au réseau local est off, tentative de reconnection" >> $log ifdown ra0 && ifup ra0 sleep 10 pon Relakks sleep $interval fi sleep $interval fi ##Ensuite on deplace tout les fichiers telecharges dans le repertoire DLD #d'abord les Mldonkeys ls -A $via1 | grep . >/dev/null if [ $? -eq 0 ] then mv /media/hda4/ML/DLD/* /media/hda4/DLD echo "Fichier deplace de /media/hda4/ML/DLD vers ../../DLD" >> $log fi ls -A $via2 | grep . >/dev/null if [ $? -eq 0 ] then mv /media/hda4/ML/DIR/* /media/hda4/DLD echo "Dossier deplace de /media/hda4/ML/DIR ver ../../DLD" >> $log fi #maintenant amuled #ls -A $via3 | grep . >/dev/null #if [ $? -eq 0 ] #then #mv /media/hda4/TMP/DLD/* /media/hda4/DLD >> /dev/null #echo "Fichier /media/hda4/TMP/DLD vers ../../DLD" >> $log #fi done Lien vers le commentaire Partager sur d’autres sites More sharing options...
killzelolo Posté(e) le 15 novembre 2007 Auteur Partager Posté(e) le 15 novembre 2007 merci beaucoup pour cet exemple!! ça va m'aider mais pour un autre truc... parce-que je viens de trouver d'où venait le problème..... et c'est un truc débile...j'aurais du y pensé dès le début... ma partition / était à 100% !!!!! oui je sais... pas tapé.... j'ai fait un peu du ménage et maintenant c'est ok... merci beaucoup à tout le monde en tout cas, et particulièrement à toi Marco07 pour cet exemple de script !! trop cool!!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.