Script demarrage
Résolu
toinou_du_63
-
laoshu Messages postés 1251 Statut Membre -
laoshu Messages postés 1251 Statut Membre -
Bonjour, nous avons moi et mon équipe acheté, il y a quelque jour un serveur dédié sous debian 6 afin de faire tourner notre serveur minecraft sous craftbukkit. Donc je me suis lancé dans la configuration de celui ci, mais la je me retrouve dans un impasse. C'est pour ce la que je viens vous demander de l'aide.
J'ai réussi à faire tourner le serveur, le problème est quand je veux le faire tourner en tant que service. J'ai donc creer un script que voici :
J'ai enregister ce script a l'emplacement suivant /ect/init.d/minecraft
Mais quand je veut rendre ce script exécutable grâce à la commande
chmod 755 /ect/init.d/minecraft
il me dit ça :
Je ne comprend pas pourquoi si quelqu'un ici si connait çela fait deux heures que je cherche mais en vain.
Merci
J'ai réussi à faire tourner le serveur, le problème est quand je veux le faire tourner en tant que service. J'ai donc creer un script que voici :
#!/bin/bash
# /etc/init.d/minecraft
# version 0.3.2 2011-01-27 (YYYY-MM-DD)
### BEGIN INIT INFO
# Provides: minecraft
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Minecraft server
# Description: Starts the minecraft server
### END INIT INFO
#Settings
SERVICE='craftbukkit.jar'
USERNAME="root"
MCPATH='/home/minecraft'
INVOCATION='java -Xmx2048M -Xms2048M -jar craftbukkit.jar nogui'
BACKUPPATH='/home/minecraft/backup'
ME='whoami'
as_user() {
if [ "$ME" == "$USERNAME" ] ; then
bash -c "$1"
else
su - $USERNAME -c "$1"
fi
}
mc_start() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "Tried to start but $SERVICE was already running!"
else
echo "$SERVICE was not running... starting."
cd $MCPATH
as_user "cd $MCPATH && screen -dmS minecraft $INVOCATION"
sleep 7
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE is now running."
else
echo "Could not start $SERVICE."
fi
fi
}
mc_saveoff() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE is running... suspending saves"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"say Sauvegarde en cours...\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-off\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
sync
sleep 10
else
echo "$SERVICE was not running. Not suspending saves."
fi
}
mc_saveon() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE is running... re-enabling saves"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-on\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"say Sauvegarde terminée!\"\015'"
else
echo "$SERVICE was not running. Not resuming saves."
fi
}
mc_stop() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE is running... stopping."
as_user "screen -p 0 -S minecraft -X eval 'stuff \"say Arrêt du serveur dans 10 secondes!\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
sleep 10
as_user "screen -p 0 -S minecraft -X eval 'stuff \"stop\"\015'"
sleep 7
else
echo "$SERVICE was not running."
fi
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE could not be shut down... still running."
else
echo "$SERVICE is shut down."
fi
}
#Start-Stop here
case "$1" in
start)
mc_start
;;
stop)
mc_stop
;;
restart)
mc_stop
mc_start
;;
status)
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE is running."
else
echo "$SERVICE is not running."
fi
;;
*)
echo "Usage: /etc/init.d/minecraft {start|stop|status|restart}"
exit 1
;;
esac
exit 0
J'ai enregister ce script a l'emplacement suivant /ect/init.d/minecraft
Mais quand je veut rendre ce script exécutable grâce à la commande
chmod 755 /ect/init.d/minecraft
il me dit ça :
chmod: impossible d'accéder à « ect/init.d/minecraft »: Aucun fichier ou dossier de ce type
Je ne comprend pas pourquoi si quelqu'un ici si connait çela fait deux heures que je cherche mais en vain.
Merci
A voir également:
- Script demarrage
- Forcer demarrage pc - Guide
- Ordinateur lent au démarrage - Guide
- Reinitialiser pc au demarrage - Guide
- Problème démarrage windows 10 - Guide
- Script vidéo youtube - Guide
5 réponses
Bien joué !
C'est souvent une petite erreur de ce genre qui bloque le plus...
J'ai déjà vu un informaticien professionnel essayer de réparer pendant 2h la connexion ethernet d'un ordi dont le cable ethernet n'était tout simplement pas connecté au routeur.
Depuis, je crois qu'il faut commencer par les vérifications les plus bêtes... surtout quand elles semblent évidentes.
C'est souvent une petite erreur de ce genre qui bloque le plus...
J'ai déjà vu un informaticien professionnel essayer de réparer pendant 2h la connexion ethernet d'un ordi dont le cable ethernet n'était tout simplement pas connecté au routeur.
Depuis, je crois qu'il faut commencer par les vérifications les plus bêtes... surtout quand elles semblent évidentes.
Bonjour,
Commence par faire :
ls /etc/init.d/
Ton fichier minecraft devrait faire partie de la liste... Sinon, tu l'as enregistré ailleurs...
S'il est ailleurs tu le trouveras probablement en tapant :
updatedb
locate minecraft
Fait attention à l'orthographe des fichiers... il arrive que l'on fasse des fautes de frappe en enregistrant le nom d'un fichier.
De même pour ta commande chmod, vérifie entre autres que tu as bien tapé le / avant etc... L'erreur que tu as copié ici me fait croire que tu aurais pu l'oublié...
Bon courage,
Commence par faire :
ls /etc/init.d/
Ton fichier minecraft devrait faire partie de la liste... Sinon, tu l'as enregistré ailleurs...
S'il est ailleurs tu le trouveras probablement en tapant :
updatedb
locate minecraft
Fait attention à l'orthographe des fichiers... il arrive que l'on fasse des fautes de frappe en enregistrant le nom d'un fichier.
De même pour ta commande chmod, vérifie entre autres que tu as bien tapé le / avant etc... L'erreur que tu as copié ici me fait croire que tu aurais pu l'oublié...
Bon courage,
Le fichier minecraft est bien au bon endroit et je n'ai pas oublie le / avant ect vient de ressayer. ^^
Dommage... ça aurait été trop simple sans doute...
Quels sont les droits associés si tu tapes :
ls -l /etc/init.d/minecraft
(Tu as peut-être vérifié, mais s'ils sont déjà à -rwxr-xr-x le chmod n'est pas nécessaire).
Sinon, essaye ainsi :
cd /etc/init.d
chmod 755 mine[tabulation]
Si l'autocompletion ne marche pas, c'est qu'il y a peut-être un problème dans le nom du fichier ; par exemple un espace insécable devant ou derrière les lettres. Ce qui provoquerait aussi une erreur de la commande ls indiquée plus haut.
Auquel cas, cherches ton fichier (toujour en étant dans /etc/init.d/ ) avec :
ls *minecraft*
Si ton fichier est la seule réponse, la solution sera :
mv *minecraft* minecraft
Bonne chance
Quels sont les droits associés si tu tapes :
ls -l /etc/init.d/minecraft
(Tu as peut-être vérifié, mais s'ils sont déjà à -rwxr-xr-x le chmod n'est pas nécessaire).
Sinon, essaye ainsi :
cd /etc/init.d
chmod 755 mine[tabulation]
Si l'autocompletion ne marche pas, c'est qu'il y a peut-être un problème dans le nom du fichier ; par exemple un espace insécable devant ou derrière les lettres. Ce qui provoquerait aussi une erreur de la commande ls indiquée plus haut.
Auquel cas, cherches ton fichier (toujour en étant dans /etc/init.d/ ) avec :
ls *minecraft*
Si ton fichier est la seule réponse, la solution sera :
mv *minecraft* minecraft
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question