Execution de cron???

Execution de cron??? - Linux et OS Alternatifs

Marsh Posté le 04-02-2002 à 11:33:58    

Bonjour à tous,
 
Voila j'aimerais créer un cron qui me permmette de lancer une appli.
 
VOila, le debut de mon cron :
 
cd /usr/local/share/cfengine/  -> cette tâche s'effectue sans problème.
 
cfengine -v; -> et la il me sors un command not found, alors que la commande existe bien, je peux l'executer manuellement.
 
Ma question est donc comment fait on pour lancer une appli par le biais d'un cron?????

Reply

Marsh Posté le 04-02-2002 à 11:33:58   

Reply

Marsh Posté le 04-02-2002 à 11:43:25    

Ben ca depend, ou se trouve cfengine ?
Le plus simple est de specifier le chemin complet, du genre:
 
/usr/local/bin/cfengine -v  
 
dans ta crontab, comme ca pas de probleme...
 
++

Reply

Marsh Posté le 04-02-2002 à 13:57:54    

Cela ne marche pas, il y a un problème avec une variable d'environnement (CFINPUTS). Elle ne veut pas se remplir par le biais du cron.
 
Pourtant, en ligne de commandes, je la remplie puis je peux lancer cfengine sans problème !!!!!!!!
 
:pt1cable::pt1cable::pt1cable::pt1cable::pt1cable:
:pt1cable::pt1cable::pt1cable::pt1cable::pt1cable:
:pt1cable::pt1cable::pt1cable::pt1cable::pt1cable:
:pt1cable::pt1cable::pt1cable:

Reply

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

Bah ouais, 'faut faire gaffe au $PATH défini dans le cron. À mon avis, ya pas grand'chose dedans. En fait, la plupart des variables d'environnement ne sont pas là, comme par exemple les locales. Qu'est-ce que j'ai merdé à cause de ça. :)

Reply

Marsh Posté le 04-02-2002 à 14:13:10    

Peux tu m'expliquer; dans mon $PATH je retrouve bien le chemin qui va bien ????????

Reply

Marsh Posté le 04-02-2002 à 14:16:22    

Oui au debut de ton fichier crontab tu peux definir des variables d'environnement telles que le PATH (par ex: 'PATH=/usr/bin:/usr/local/bin';) et dans ton cas tu peux definir CFINPUTS en en-tete de ta crontab (CFINPUTS=machin_bidule)
 
Avec ca ca devrait rouler
 
++

Reply

Marsh Posté le 04-02-2002 à 14:20:22    

Je te remercies, effectivement il faut la définir dans la crontab et non dans fichier de réferences.
 
 
:jap::jap::jap::jap::jap::jap:

Reply

Marsh Posté le 04-02-2002 à 14:24:08    

Non, le cron n'est pas un shell. Tes variables d'environnement ne se chargent sur ton shell que d'après les .bashrc et autre .profile. Aucun rapport avec cron. Pour en être convaincu, mets une ligne de ce type dans ton cron :
 
* * * * * echo $PATH > /tmp/machin.test
 
Comme ça, tu verras ce qu'il y a dans ta variable $PATH pendant un cron.

Reply

Marsh Posté le 04-02-2002 à 14:26:44    

Tiens, extrait du man crontab :
 
Unlike  other crond/crontabs, this crontab does not try to do everything under the sun.  Frankly, a shell script is much more able to  manipulate the  environment  then  cron  and  I see no particular reason to use the user's shell (from his password entry) to run cron  commands  when  this requires  special  casing  of non-user crontabs, such as those for UUCP. When a crontab command is run, this crontab runs  it  with  /bin/sh  and sets up only three environment variables: USER, HOME, and SHELL.

Reply

Marsh Posté le 04-02-2002 à 15:36:08    

Oui mais ensuite rien ne t'empeche de definir d'autres variables d'environnement(ds la crontab, donc valables pour toutes les taches), ou d'appeler un script qui definira des variables d'env (valables pr une seule tache)  
 
++

 

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

Reply

Marsh Posté le 04-02-2002 à 15:36:08   

Reply

Marsh Posté le 04-02-2002 à 16:56:28    

Exactement, c'est comme ça que je fais quand j'en ai besoin.
Mais par défaut, le cron, il est à poil. :)

Reply

Sujets relatifs:

Leave a Replay

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