Crontab et exécution d'une requête SQL
Résolu
tbeghain
Messages postés
63
Statut
Membre
-
tbeghain Messages postés 63 Statut Membre -
tbeghain Messages postés 63 Statut Membre -
Bonjour,
J'ai écrit un script shell dont la fonction est de supprimer des répertoires dépendant d'une requête SQL sur une database Oracle 9.
Lorsque j'exécute mon script directement depuis Unix, ça marche très bien, mais lorsque je le mets dans une crontab, ça ne marche plus. La requête SQL tombe en erreur (127).
Quelqu'un aurait-il une idée ?
Merci.
NB : Voici la ligne de la crontab utilisée pour tester (exécution toutes les minutes)
* * * * * /dimdata/scripts/menage_dm
J'ai écrit un script shell dont la fonction est de supprimer des répertoires dépendant d'une requête SQL sur une database Oracle 9.
Lorsque j'exécute mon script directement depuis Unix, ça marche très bien, mais lorsque je le mets dans une crontab, ça ne marche plus. La requête SQL tombe en erreur (127).
Quelqu'un aurait-il une idée ?
Merci.
NB : Voici la ligne de la crontab utilisée pour tester (exécution toutes les minutes)
* * * * * /dimdata/scripts/menage_dm
Configuration: AIX 5.2 Oracle 9
2 réponses
-
Bonjour tbeghain,
Je n'ai jamais utilisé AIX, mai sje suppose que comme sous Linux et BSD, cron s'exécute sous son propre environnement, et certaines commandes que tu utilises dans ton script "menage_dm" peuvent ne pas se trouver dans le PATH.
Sous FreeBSD, /etc/crontab précise quel est ce PATH pour root.
Veille à ce que toutes les commandes qu'il contient et qui ne sont pas dans le PATH soient préfixées de leur chemin complet.
Il est possible que le non fonctionnement de ton script soit dû à cela.
Dal -
Bonjour,
merci Dal, c'était effectivement cela. le script fait appel à une variable d'environnement pour Oracle définie dans le .profile lorsqu'un user autorisé se connecte sous Unix, mais pas pour la crontab. J'ai donc rajouté cette variable dans le script, et tout fonctionne correctement maintenant. Encore merci.