Crontab et exécution d'une requête SQL
Résolu
tbeghain
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
tbeghain Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
tbeghain Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Crontab sql
- Logiciel sql - Télécharger - Bases de données
- Crontab toutes les 2 heures ✓ - Forum Shell
- Jointure sql ✓ - Forum MySQL
- Requete sql pix - Forum PHP
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
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
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.
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.
Content de te revoir trainer dans le coin, ça faisait un bail dis donc !?
J'espère te voir plus souvent...
Bonne fin d'après-midi.
PS. tbeghain : Désolé pour l'incruste.
C'est un plaisir partagé !
PS. tbeghain : Désolé pour l'incruste.
LOL, j'adore :-)
Dal