Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/09/2017, à 15:51

palestrina

Lancer un Bash avec un Cron

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 :

#!/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:

# 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

Hors ligne