Bonjour,

j'essaie de programmer le lancement d'un batch une fois par semaine, avec cron.

Voici une partie du contenu du ksh :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#Recuperation de la liste des schemas e la base
sqlplus -s "${user}/${pwd}@${BASE} as sysdba" << EOF >/dev/null
set heading off;
set pagesize 1000;
set feedback off;
set trimspool on;
spool users.txt;
select username from all_users order by username asc;
 
spool off;
 
EOF
Lorsque j'exécute ce script, pas de problème.

Voici la ligne que j'ai mis en faisant crontab -e :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
21 15 * * * [ -f /user/.profile ] && . /dossier/repertoire/script.ksh
Le batch est bien lancé, mais sqlplus retourne un code 1. Ce qui n'est pas le cas lorsque je lance manuellement le script.

J'ai bien compris que Cron ne chargeait pas l'environnement de l'utilisateur, j'ai donc rajouter le [ -f /user/.profile ] dans la ligne de programmation.

Mais sans plus de résultat.

Pouvez-vous m'expliquer pourquoi sqlplus retourne 1 ?

Merci.