Bonsoir,
Comme le dit fort justement Gangsoleil, aucune hypothèse ne doit être posée lors de l'exécution du script par le service cron:
* Pas de variable spéciale déclarée.
* On est généralement dans le home dir.
Il faudrait donc déclarer une variable genre
1 2 3 4 5
| serveur="/usr/.../S3DServer-1.5.1-Advanced-Linux"
...
if [ -e $serveur ]
then
... |
puis utiliser cette variable pour remplacer toutes les références directes au nom du programme. C'est mieux s'il faut un jour changer le nom ou l'emplacement dudit programme.
Pour être bien sûr que le script est appelé, ajoute au début (juste après le start) quelque chose du genre
echo "diabli73 was here" > /tmp/delete.me
et regarde si le fichier /tmp/delete.me est créé ou non.
Et puis le lancement depuis le cron me paraît compliquée. Est-ce que la ligne suivante ne te convient pas mieux (à vérifier quand même)
* * * * * /usr/local/sbin/S3DServer_script start &> /root/cmd.log &
J'imagine que c'est un test, parce que cette ligne du cron est exécutée toutes les minutes!
Enfin, fais attention à l'indentation: une partie du code utilise la tabulation et une autre l'espace. Faut choisir dans la vie, soit l'un soit l'autre.
Partager