Page 1 sur 1

[Script Bash] ne tourne pas en mode cron (résolu)

Publié : lun. 27 févr. 2017, 20:05
par falke
bonsoir,

je suis confronté à un problème auquel je ne trouve pas d'explication :

voilà j'ai un programme qui peut accepter un argument en parmètre (en l'occurrence une date)

lorsque j'exécute un shell bash avec une date en paramètre comme ceci

mon_shell.sh 14/03/2016

le shell contient :

Code : Tout sélectionner

exécute programme-en-question avec paramètre $1 
le programme (requête) s'exécute et me créé bien un unload avec les données voulues.

par contre , quand je mets ce shell dans le cron de l'utilisateur qui l'a créé , avec la date en paramètre, le shell ne semble pas tourner (aucune extraction ne se fait)

00 18 * * 1-5 chemin_vers_mon_shell/mon_shell.sh 14/03/2016

Pourriez vous me dire pourquoi ?

Re: [Script Bash] ne tourne pas en mode cron

Publié : lun. 27 févr. 2017, 21:32
par benjarobin
Bonjour,
Déjà es tu sur que ton cron tourne ? Au tout début de ton script met :
touch /tmp/testscriptrun
Si ce fichier apparait c'est que le script est bien lancé

Re: [Script Bash] ne tourne pas en mode cron

Publié : mar. 28 févr. 2017, 18:46
par falke
salut benjarobin, j'ai trouvé :

en redirigeant les sorties du shell vers un fichier d'erreur je me suis rendu compte qu'il tournait (création du fichier d'erreur).

Par contre, ce n'était pas le paramètre date qui posait problème, mais simplement que le binaire du programme appelé n'était pas trouvé (pb de PATH) signalé dans le fichier d'erreur.

c'est en changeant le script en y mettant le chargement d'un fichier contenant la description de l'environnement . ./.exevar) que le programme a pu être trouvé et exécuté avec le paramètre de date.

Ce que je ne comprends pas par contre, et peut être as tu une idée, c'est que même en entrant le chemin vers le binaire en dur dans le shell, ce dernier ne tournait pas. Je prends toute explication sur ce point :wink:

Re: [Script Bash] ne tourne pas en mode cron

Publié : mar. 28 févr. 2017, 19:06
par benjarobin
Il se peut que tu ce soit une application mal développé qui n'accepte tout simplement pas que le dossier courant ne soit pas celui où est l’exécutable.
Mais sans plus d'information difficile de juger.

Re: [Script Bash] ne tourne pas en mode cron

Publié : mer. 01 mars 2017, 19:34
par falke
Salut,

j'ai une explication :

c'est le binaire qui avait probablement besoin des variables d'environnement (de mon .exevar) et qui par conséquent
ne pouvait pas s'exécuter.

Merci pour ton aide