Comment faire qu'un service se redémarre automatiquement ?

Fermé
Rewon - 1 janv. 2015 à 18:33
Lordanonymous Messages postés 198 Date d'inscription jeudi 2 août 2012 Statut Membre Dernière intervention 21 mars 2019 - 3 janv. 2015 à 19:14
Bonjour à tous,

J'ai récemment acheté un serveur Debian sur laquelle j'ai installé Minecraft et Apache, PHP, MySQL, PHPMyAdmin. Je suis un débutant et je me demandais comment faire que quand le service Minecraft s'arrête automatiquement il se re-démarre.

Comment faire ?

Merci d'avance !

A voir également:

3 réponses

Javelboy Messages postés 137 Date d'inscription vendredi 20 décembre 2013 Statut Membre Dernière intervention 19 juin 2015 86
Modifié par Javelboy le 1/01/2015 à 18:39
Salut tu utilise qu'elle commande pour lancer minecraft ? (service ... start ) ?
Ou tu lance un script directement comme ca ./nom_du_service ?
Car il y a plusieurs façons de faire pour faire ce que tu demande :).

Petite piste néanmoins : http://doc.ubuntu-fr.org/tutoriel/comment_transformer_un_programme_en_service
0
J'utilise la commande : "service minecraft start".
0
Javelboy Messages postés 137 Date d'inscription vendredi 20 décembre 2013 Statut Membre Dernière intervention 19 juin 2015 86
1 janv. 2015 à 19:47
Si tu tape "Minecraft" en prompt tu as un programme qui démarre ?
Car j'aurai peut etre une solution..
0
Rewon > Javelboy Messages postés 137 Date d'inscription vendredi 20 décembre 2013 Statut Membre Dernière intervention 19 juin 2015
2 janv. 2015 à 02:10
En quoi, je ne sais pas ce que c'est prompt ?
0
Javelboy Messages postés 137 Date d'inscription vendredi 20 décembre 2013 Statut Membre Dernière intervention 19 juin 2015 86
3 janv. 2015 à 18:56
la commande ;) si tu tape Minecraft dans ton terminal ca donne quoi ?
0
Lordanonymous Messages postés 198 Date d'inscription jeudi 2 août 2012 Statut Membre Dernière intervention 21 mars 2019 142
3 janv. 2015 à 19:14
Bonjour,

Tu peux faire ce que tu veux avec un script bash qui lance une vérification de l'activité du service et le redémarre si besoin. la commande
service minecraft status
peut te dire si le service est allumé ou éteint si le service minecraft le permet (je ne connais pas minecraft). A partir de cette information tu peux déclancher une action dans une structure conditionnelle "if" (le redemmarage du service si il est éteint par exemple).

Pour que ton script "surveille" ton service tout le temps, tu peux englober le code bash dans une boucle infini (while) avec un sleep (ce qui le lancera indéfiniment tout les X temps).

Si minecraft ne prend pas en charge
service minecraft status
, tu peux toujours faire un grep sur la commande ps.

Enfin, pour que ton script doit tourner en arrière plan, il faut que tu le mette au démarrage de ton serveur en tant que daemon.

Il faut que l'entête de ton script soit ceci :

#!/bin/bash
### BEGIN INIT INFO
# Provides: skeleton
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $portmap
# Should-Stop: $portmap
# X-Start-Before: nis
# X-Stop-After: nis
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be placed in /etc/init.d.
#
### END INIT INFO


et que tu le place dans /etc/init.d/ton_script.

Il faut lui donner les droits d'execution avec la commande
chmod +x /etc/init.d/ton_script
.

ainsi que tu le définisse comme service de démarage :

cd /etc/init.d && update-rc.d ton_script defaults
.

J'ai conscience que c'est un peux lourd à mettre en place et qu'il existe peux être une autre méthode plus simple mais au moins tu as une solution en cas d'impace sur le sujet :)

Bon courage !
0