Bonjour tout le monde !
J’ai un petit soucis concernant un de mes scripts (nommé “boot.sh”), j’espérais, éventuellement trouver de l’aide parmi vous…
Je vous explique, on ne va pas y aller par quatre chemins :
J’ai un serveur dédié, sur lequel je fais tourner un serveur Minecraft. Mon script est là typiquement pour start, stop et reboot le serveur (donc un script avec une variable d’exécution.
Ce script marche très bien pour le stop : en effet ./boot.sh stop
fonctionne très bien.
En revanche, ./boot.sh reboot
me donne uniquement le “stop” du serveur (alors qu’il est censé aussi le relancer derrière)
Autant vous dire, vous l’aurez compris, que ./boot.sh start
ne fonctionne ni de près ni de loin.
Je précise par là qu’il n’y a pas de message d’erreur dans ma fenêtre quand je lance ./boot.sh start
ou ./boot.sh reboot
C’est bien une commande “screen” qui me donne du fil à retordre (voir le script en dessous)
Je vous donne donc le code complet du script, afin que vous puissiez (sûrement et je l’espère tellement) voir une erreur idiote de ma part (je suppose que ça vient de là).
#!/bin/bash
SCREEN_NAME="minecraftscreen"
URL_SERVER="/home/minecraft"
JAR_SERVER="spigot.jar"
cd $URL_SERVER
case $1 in
"start")
screen -dmS $SCREEN_NAME java -Xmx12G -Xms18G -jar $JAR_SERVER nogui
;;
"stop")
screen -S $SCREEN_NAME -p 0 -X stuff "`printf "stop\r"`"; sleep 10
;;
"reboot")
screen -S $SCREEN_NAME -p 0 -X stuff "`printf "stop\r"`"; sleep 10
screen -dmS $SCREEN_NAME java -Xmx12G -Xms18G -jar $JAR_SERVER nogui
;;
*)
echo -e "Le script demande au moins un des parametres:\033[32m | start | stop | reboot |\033[0m"
;;
esac
Merci d’avance de votre aide, ça fait 2 jours que je m’arrache les cheveux avec ça.
(PS : Se pourrait-il qu’il s’agisse d’une erreur de permission)
Bien amicalement,
Antoine