Déterminer un Shell pour tâche cron

Résolu
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   -  
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
dans quel fichier peut-on déterminer le shell qui sera utilisé lors du lancement de scripts via la crontab?
Merci d'avance.
A voir également:

4 réponses

Utilisateur anonyme
 
salut,

dans le script, sur la première ligne, à l'aide du shebang.
#!/chemin/shell
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour la réponse,
mais j'ai l'impression que l'environnement n'est pas le même...
j'ai pourtant mis dans mon script

#!/bin/csh
source ~/.cshrc

...
...
...

Je précise que tout marche bien si je lance le scrpit 'manuellement"
0
Utilisateur anonyme
 
j'ai l'impression
ce n'est pas très objectif!
quelle(s) observation(s) te donne(nt) cette impression?
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

source ~/.cshrc
Tu devrais mettre le chemin complet vers ton .cshrc, il n'est pas dit qu'à ce stade la crontab reconnaisse le "~" ;-\

Donc soit ${HOME}/.cshrc soit /home/${LOGNAME}/.cshrc
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Désolé pour l'imprécision de ma réponse,

je lance:

./monsript.csh


ou une version bash

./monscript.sh


Dans les deux cas ça marche , malgré un warning:

Fontconfig error: Cannot load default config file


j'ai pourtant vérifié mon /etc/fonts ...
Bref, ça ne gêne pas la bonne execution

Les même scripts testés via la crontab donnent cette erreur pour bash:

Fontconfig error: Cannot load default config file


qui cette fois-ci est fatale, le script s'arrete.

pour csh l'erreur est la suivante:

USER: Undefined variable.
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Bon, ça avance un peu mais c'est toujours pas ça...
Le fait que script s'arrête c'était à cause de ma redirection:

monscript.csh 2>monfichier.log


Je savais pas...

Mais j'ai une nouvelle erreur, qui survient toujours ( et uniquement) depuis le lancement cron:

<code>
[1] Broken pipe
[2] Broken pipe
....
[16] Broken pipe

[x] = est le numéro du process que j'ai lancé (j'en lance plusieurs à la fois)
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Euh... sans voir le script, malgré nos talents extralucides, difficile de t'aider ;-(
0
yann747 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   2
 
Après avoir comparé des choses comme:

printenv


et cette ligne dans ma crontab :

15 12 * * * printenv > ~/cronenv.txt


==> cat ~/cronenv.txt

Après avoir suivi les bon conseils de zipe31,

j'ai compris que dans mes scripts, il y avait 2 différentes versions d'un même logiciel. une seule était bonne.
Merci pour vos réponses!
0