Déterminer un Shell pour tâche cron

Résolu/Fermé
yann747 Messages postés 127 Date d'inscription mardi 25 octobre 2011 Statut Membre Dernière intervention 13 octobre 2021 - 25 oct. 2012 à 09:09
yann747 Messages postés 127 Date d'inscription mardi 25 octobre 2011 Statut Membre Dernière intervention 13 octobre 2021 - 1 nov. 2012 à 00:39
Bonjour,
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

Utilisateur anonyme
25 oct. 2012 à 09:53
salut,

dans le script, sur la première ligne, à l'aide du shebang.
#!/chemin/shell
0
yann747 Messages postés 127 Date d'inscription mardi 25 octobre 2011 Statut Membre Dernière intervention 13 octobre 2021 2
Modifié par yann747 le 25/10/2012 à 10:49
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
25 oct. 2012 à 11:34
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
25 oct. 2012 à 12:20
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 mardi 25 octobre 2011 Statut Membre Dernière intervention 13 octobre 2021 2
25 oct. 2012 à 12:40
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 mardi 25 octobre 2011 Statut Membre Dernière intervention 13 octobre 2021 2
25 oct. 2012 à 13:23
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
25 oct. 2012 à 13:25
Euh... sans voir le script, malgré nos talents extralucides, difficile de t'aider ;-(
0
yann747 Messages postés 127 Date d'inscription mardi 25 octobre 2011 Statut Membre Dernière intervention 13 octobre 2021 2
1 nov. 2012 à 00:39
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