Re: [HS et RESOLU] shell et environnement console versus CRON

2011-10-15 Par sujet fabrice régnier

merci à tous pour les pistes que vous m'avez suggérées:

@grégory
même en virant l'extension .sh, j'ai rencontré le même soucis

@aeris
ce n'est pas que le script plantait à cause des chemins vers les 
binaires manquant, c'est qu'il ne se lançait pas.


@jean-yves
tu m'as fais espérer car lorsque j'ai remplacé le  par le if then fi, 
le script s'est lancé. Sauf qu'il se lançait à chaque heure, le test ne 
faisait plus son boulot.


@florent et denis
vous aviez raison, à priori un cron avec 'pgrep -f mon_prog  mon_prog' 
ne peut jamais fonctionner. Avec l'option -f ou pas.


Ce qui fonctionne dans le cron, c'est par exemple un truc comme ça:
[ -z $(/bin/ps -C pppd | /bin/grep pppd) ]  /usr/bin/pon dsl-provider
ou (non testé)
[ -z $(pgrep pppd) ]  /usr/bin/pon dsl-provider

Mais dans ce cas, il s'agit d'aller chercher pppd. Or dans mon cas, je 
vais chercher bash. Et après, comment déterminer le nom du script ?


Voici donc ma solution :

pas de pgrep dans le cron mais un:

# on redémarre les scripts s'ils sont arrêtés
0 * * * *   /home/contact/verif_scripts_started.sh 1 /dev/null 2 
/dev/null



et voici verif_scripts_started.sh:

PGREP=/usr/bin/pgrep

PROG1=/home/contact/acces_sitemap/acces_sitemap.sh
if [ -z `$PGREP -f $PROG1` ]; then
  $PROG1
fi


Je pourrais faire un tableau pour tous les PROGi et une fonction qui 
vérifie chaque PROGi.



encore merci à tous.

f.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/4e99aa74$0$658$426a7...@news.free.fr



Re: [HS et RESOLU] shell et environnement console versus CRON

2011-10-15 Par sujet Jean-Yves F. Barbier
On Sat, 15 Oct 2011 17:44:51 +0200
fabrice régnier regnier@free.fr wrote:

...
 @jean-yves
 tu m'as fais espérer car lorsque j'ai remplacé le  par le if then fi, 
 le script s'est lancé. Sauf qu'il se lançait à chaque heure, le test ne 
 faisait plus son boulot.

C'est exactement ce que ton crontab stipulait! (* */1 * * * == 1 x par H).

Restait une solution plus radicale (solution dépendante du traitement
exécuté par ledit script, qui doit pouvoir se faire couper la chique
sans grogner, œuf-corse); appeler un script du type:

#!/bin/sh
killall monscriptamoiquejeveukitourn.sh
monscriptamoiquejeveukitourn.sh

J'utilise ce truc une fois par 12H avec bind9 s/s sid parce qu'au bout
d'un certain temps (très variable), il refuse de mourir sur ordre: ça 
bloque un reboot jusqu'à l'appui sur reset en envoyant waiting for
pid  to die toutes les 2 secondes (bien que les confs soient correctes).

-- 
Addi Alter.net seems to have replaced one of its router with a zucchini.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Archive: http://lists.debian.org/20111015183451.2c41a639@anubis.defcon1