Bonjour à tous
Voilà le soucis:
Je cherche à lancer un script bash avec un cron, ce script marche parfaitement quand je le lance manuellement (./runFluid-efy.sh) mais lorsque je cherche à le lancer via un cron j'ai une erreur;
il ne parviens pas à lancer une des classes du script:
Erreur : impossible de trouver ou charger la classe principale com.fluid_e.FXCEngine
Ci dessous le script :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#!/bin/sh
# Directory of the script
PRG="$0"
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
PRGDIR=`dirname "$PRG"`
# PROG_HOME=`cd "$PRGDIR/.." ; pwd`
PROG_HOME=`cd "$PRGDIR" ; pwd`
#export JAVA_DIR=./jdk
export JAVA_DIR=$PROG_HOME/jdk
# "$JAVA_DIR"/bin/java -Djavax.net.ssl.trustStore="$PROG_HOME/jssecacerts" -Djavax.net.ssl.trustStorePassword=changeit -jar Fluid-efy.jar
/usr/bin/java -Djavax.net.ssl.trustStore="$PROG_HOME/jssecacerts" -Djavax.net.ssl.trustStorePassword=changeit -cp Fluid-efy.jar:lib/groovy/* com.fluid_e.FXCEngine |
Le cron:
1 2 3 4 5
|
# m h dom mon dow command
#*/4 * * * * /var/www/html/pim-community-standard/app/console akeneo:batch:j$
#*/2 * * * * /usr/bin/rename.sh
*/5 * * * * /opt/Fluid-efy/runFluid-efy.sh >> /bash.log 2>&1 |
Le script fait partie d'une solution "clef en main", dans le zip qui m'était fourni, un Jdk était à décompresser..
Ce Jdk ne fonctionnait pas, j'ai donc du faire une install globale de Jdk (dans /usr/bin)et modifier dans le script la variable "#JAVA_DIR" de manière à pointer directement vers /usr/bin/java ).
Après cette modification, le script s'est bien lancé manuellement mais reste le problème de l’exécution de cette tache via le Cron.
Merci d'avance pour votre aide
Partager