[CENTOS] Lacer un cron incluant cmd java

Résolu
ixtobilly Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
ixtobilly Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour les amis !

J'ai un petit problème avec le crontab. En effet, j'ai une application java qui marche très bien tant que je la lance en ligne de commande. Or, elle devrait être lancée automatiquement chaque jour. . J'ai créé pour cela un fichier exécutable "lecron.sh" dt je donne le code. Je me met dans le répertoire le contenant et je le lance en faisant : ./lecron.sh

Tout se passe bien et mon prog s'exécute correctement.

Je décide alors de mettre cette commande dans le cron. Je fais crontab -e et je renseigne les champs comme suis:

37 10 * * * /usr/share/uniclient/batch/cron.txt > /usr/share/uniclient/archive/trac_cron.txt


ou encore

37 10 * * * (/usr/share/uniclient/batch/cron.txt > /usr/share/uniclient/archive/trac_cron.txt);


A l'heure prévue, il crée le fichier "/usr/share/uniclient/archive/trac_cron.txt" mais il est vide alors kil y a des messages ki devaient s'afficher, dc être dirigés vers mon fichier. Il ne fait aucune action de ma classe java. (En bref, il n'exécute pas mon programme)


Afin d'eviter les kestions de permission, tt le rep est mis à 777.

lecron.sh :

LACLASSPATH=$LACLASSPATH:/usr/local/jakarta-tomcat/common/lib/Persobilbio.jar
LACLASSPATH=$LACLASSPATH:/usr/local/jakarta-tomcat/common/lib/ifxjdbc.jar
LACLASSPATH=$LACLASSPATH:/usr/local/jakarta-tomcat/common/lib/ifxjdbcx.jar
LACLASSPATH=$LACLASSPATH:/usr/local/jakarta-tomcat/common/lib/ifxlang.jar
LACLASSPATH=$LACLASSPATH:/usr/local/jakarta-tomcat/common/lib/ifxlsupp.jar
LACLASSPATH=$LACLASSPATH:/usr/local/jakarta-tomcat/common/lib/ifxsqlj.jar
LACLASSPATH=$LACLASSPATH:/usr/local/jakarta-tomcat/common/lib/ifxtools.jar
LACLASSPATH=$LACLASSPATH:/usr/share/uniclient/batch


FICPROPRIETE=/usr/share/uniclient/lib/propriete.txt


java -cp $LACLASSPATH Rech_client $FICPROPRIETE


Quelqu'un aurait il une information à me donner ? Ais je oublié quelque chose ?

Merci de me répondre, le moindre indice me serait d'un grand secours.

A voir également:

2 réponses

nuxora Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   7
 
Au moment de l'execution du cron, l'executable java n'est peut etre pas dans le path

lance la commande suivante:
which java
qui donnera p-e comme resultat: /usr/bin/java ou le repertoire specifique ou tu l'as installé

et dans ton script utilise des chemins absolus.
Dans tous les cas, ton script à défaut de ne rien faire devrait au moins retourner une erreur.

Nuxora.
---------------------------------------------
please visit http://www.nuxora.com
3
ixtobilly Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   4
 
En effet, j'ai inclu le chemin absolu vers la commande java et tout semble marcher correctement. Voici la mofication que j'ai apporté:

COMMANDE=/usr/java/jdk1.6.0_01/bin/java
et ensuite:
$COMMANDE -cp $LACLASSPATH Rech_client $FICPROPRIETE

Merci Nuxora ! A bienôt
1