Déterminer un Shell pour tâche cron
Résolu
yann747
Messages postés
128
Statut
Membre
-
yann747 Messages postés 128 Statut Membre -
yann747 Messages postés 128 Statut Membre -
Bonjour,
dans quel fichier peut-on déterminer le shell qui sera utilisé lors du lancement de scripts via la crontab?
Merci d'avance.
dans quel fichier peut-on déterminer le shell qui sera utilisé lors du lancement de scripts via la crontab?
Merci d'avance.
4 réponses
-
salut,
dans le script, sur la première ligne, à l'aide du shebang.#!/chemin/shell
-
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"-
-
-
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.
-
-
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) -
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!