Script au demarage et à l'extinction

Résolu
plingx Messages postés 144 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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. plingx Messages postés 144 Statut Membre 20
     
    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.
    0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
    0