Configuration Script redémmarage /Linux/Debian

gamerstar62

Chasseur de Zombie
9 Juillet 2013
61
4
39
34
Bonjour,

C'est assez urgent, je cherche à faire un script qui redémmare automatiquement mes serveurs minecraft qui sont sur mon vps lorsque je démmare mon vps ou lorsqu'il crash. J'ai trouvé un script mais je ne sais pas si il permet de démmarer mes serveurs lorsque mon vps crash...
Code:
#!/usr/bin/env bash

##
## This script was created to start/stop/restart servers in screen sessions for Minecraft. You must edit the
## servers list and servers_directory to reflect your setup. You also need to have a run.sh for every server to start
## them with the options you want.
##

servers=("Hub" "Factions" "Prison" "Guild")
servers_directory=(/home/desktop/minecraft/) ### Must include trailing slash

restart_all() {
    for server in "${servers[@]}"
    do
        echo "$server"
        if screen -list | grep -q "$server"; then
            echo "Stopping $server server.."
            screen -S "$server" -X stuff "msgall  &9Server is restarting...$(printf \\r)"
            screen -S "$server" -X stuff "stop$(printf \\r)"
            echo "$server server has stopped.."
        fi
        echo "Waiting 5 seconds for all servers to stop gracefully..."
        sleep 5
        cd "$servers_directory$server"
        echo "Starting $server server.."
        screen -dmS "$server" ./run.sh
    done
}
start_all() {
    for server in "${servers[@]}"
    do
        if screen -list | grep -q "$server"; then
            echo "$server is already running! Skipping... "
        else
            echo "Starting $server server..."
            cd "$servers_directory$server"
            screen -dmS "$server" ./run.sh
        fi
    done
    echo "All servers started"
}
stop_all() {
    for server in "${servers[@]}"
    do
        echo "Stopping $server server.."
        screen -S "$server" -X stuff "msgall  &9Server is stopping...$(printf \\r)"
        screen -S "$server" -X stuff "stop$(printf \\r)"
        echo "$server server has stopped.."
    done
}
start() {
    if [[ " ${servers[@]} " =~ "$1" ]]; then
        if screen -list | grep -q "$1"; then
            echo "$1 is already running! Skipping... "
        else
            echo "Starting $1 server..."
            cd "$servers_directory$1"
            screen -dmS "$1" ./run.sh
        fi
    else
        echo "Server isn't in the list ~ use: start SERVERNAME"
    fi
}
stop() {
    if [[ " ${servers[@]} " =~ "$1" ]]; then
        screen -S "$1" -X stuff "msgall  &9Server is stopping...$(printf \\r)"
        screen -S "$1" -X stuff "stop$(printf \\r)"
        echo "$! server has stopped.."
    else
        echo "Server isn't in the list ~ use: stop SERVERNAME"
    fi
}
restart() {
    if [[ " ${servers[@]} " =~ "$1" ]]; then
        if screen -list | grep -q "$1"; then
            echo "Stopping "$!" server.."
            screen -S "$1" -X stuff "msgall  &9Server is restarting...$(printf \\r)"
            screen -S "$1" -X stuff "stop$(printf \\r)"
            echo "$1 server has stopped.."
        fi
        echo "Waiting 5 seconds for $1 server to stop gracefully..."
        sleep 5
        cd "$servers_directory/$1"
        echo "Starting $1 server.."
        screen -dmS "$1" ./run.sh
    else
        echo "Server isn't in the list ~ use: restart SERVERNAME"
    fi

}
case "$1" in
    start-all)
        echo "Starting all servers"
        start_all
        ;;
    stop-all)
        echo "Stopping all servers"
        stop_all
        ;;
    restart-all)
        echo "Restarting all servers"
        restart_all
        ;;
    start)
        echo "Attempting to start server"
        start $2
        ;;
    stop)
        echo "Attempting to stop server"
        stop $2
        ;;
    restart)
        echo "Attempting to restart server"
        restart $2
        ;;
    *)
        echo "No command specificed restarting all servers!"
        restart_all
        exit 1
esac
exit 0

Soyer indulgent et comrenez que c'est mon premier vps...

Merci de votre aide!