Script au demarage et à l'extinction

Résolu
Bonjour,

J'ai un serveur sur lequel je fais tourner un serveur de jeu et un serveur web.
Je fais pas mal de reboot et j'aimerais que les commandes pour démarrer le serveur de jeu puisse se faire automatiquement.

j'ai essayé pas mal de chose, de créer le script dans init.d mais en vain !

Voila les commandes :


screen -t minecraft
java -Xmx2024M -Xms2024M -jar /home/minecraft/craftbukkit.jar


De plus quand je reboot le serveur, j'aimerai executer une commande "stop" dans l'application du serveur de jeu, avant que debian le ferme. Afin qu'il sauvegarde les données du jeu.

Donc les commandes serait :


screen -x minecraft
stop


3 réponses

  1. Modérateur
    C'est normal, les commandes qui suivent la commande screen ne sont pas traitées par le screen. De plus tu n'as pas besoin de screen ici, l'opérateur & devrait suffire.

    Du coup je mettrais plutôt :

    [...]
    case "$1" in
    start)
    log_begin_msg "Starting minecraft server"
    pushd /home/minecraft ; java -Xmx2024M -Xms2024M -jar craftbukkit.jar & ; popd
    log_end_msg 0
    ;;
    stop)
    [...]


    Bonne chance
    1. Bonjour,
      Merci, mais ca ne m'aide pas vraiment, j'ai ici plusieurs commandes et aparement il n'en prend qu'une en compte, je ne trouve absolument rien sur l'écriture de script ...
      voila ce que j'ai mis dans mon fichier /etc/init.d/minecraft :
      #!/bin/sh 

      ### BEGIN INIT INFO
      # Provides: minecraft
      # Required-Start: $remote_fs
      # Required-Stop:
      # Default-Start: 2 3 4 5
      # Default-Stop:
      # Short-Description: minecraft server
      # Description: minecraft server
      ### END INIT INFO

      . /lib/lsb/init-functions

      [ -f /etc/default/rcS ] && . /etc/default/rcS
      PATH=/bin:/usr/bin:/sbin:/usr/sbin

      case "$1" in
      start)
      log_begin_msg "Starting minecraft server"
      screen -t minecraft
      cd /home/minecraft
      java -Xmx2024M -Xms2024M -jar craftbukkit.jar
      log_end_msg 0

      ;;
      stop)
      kill -9 $(ps -eo pid,cmd | grep java | grep craftbukkit.jar | cut -d" " -f2)
      ;;
      force-reload|restart)
      $0 start
      ;;
      status)
      exit 0
      ;;
      *)
      log_success_msg "Usage: /etc/init.d/minecraft {start|stop|restart|force-reload|status}"
      exit 1
      esac

      exit 0


      Et pour ce qui ai du code a l'extinction, je suis pas sure que ça correspond a ce que je cherche.