[Debian] Demarrage automatique d'un .sh

Utilisateur anonyme -  
 Stdliege -
Bonjour à tous !

Afin de ne pas retapper à chaque redemarrage de mon server dédié ( Debian 4.0 ) toutes les commandes de démarrage de programmes, en lisant des tutos, j'ai vu que l'on pouvait faire des scripts de démarrage.

Pour cela, j'ai déjà créer un fichier nommé: "demarrage.sh" et je l'ai placé dans le répertoire tel que "/etc/init.d/demarrage.sh".


Après cela j'ai tappé en tant que "root" sans les premiers guillemets bien sûr :

"chmod -v 0644 /etc/init.d/demarrage.sh
update-rc.d demarrage.sh defaults"


Pour finir, voici le script que j'ai tapper dans le fichier "demarrage.sh" sans les guillemets encore une foi :

"#!/bin/sh
#Lancement du serveur Teamspeak
cd /home/ts/tss2_rc2/
./teamspeak2-server_startscript stop
./teamspeak2-server_startscript start


#!/bin/sh
#Lancement du serveur privé
cd /usr/steam/prive
screen -dmS prive ./hlds_run -game cstrike +maxplayers 16 +map de_nuke +port 27015 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos


#!/bin/sh
#Lancement du serveur public
cd /usr/steam/public
screen -dmS public ./hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27020 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos


#!/bin/sh
#Lancement du serveur kz_
cd /usr/steam/kz
screen -dmS kz ./hlds_run -game cstrike +maxplayers 32 +map kz_volcano +port 27030 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos


#!/bin/sh
#Lancement du serveur deadmatch
cd /usr/steam/deadmatch
screen -dmS deadmatch ./hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27040 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos


#!/bin/sh
#Lancement du serveur gungame
cd /usr/steam/gungame
screen -dmS gungame ./hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27010 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos"



Voilà, si vous pouviez m'aider à me dire ce qui ne va pas je vous en serez très reconnaîssant !
Merci d'avance!
A bientôt !
A voir également:

61 réponses

Utilisateur anonyme
 
Bah ça ne marche tjrs pas, je commence à desespérer !

Pour le teamspeak il devrait marcher mais pourtant il ne demarrage toujours pas tout seul, voici le "sh /etc/init.d/demarrage.sh":
Usage: /home/ts/tss2_rc2/teamspeak2-server_startscript {start|stop|restart|status|passwords}
Usage: /home/ts/tss2_rc2/teamspeak2-server_startscript {start|stop|restart|status|passwords}


Et pour les servers steam il ne sont pas reconnus:
: command not foundge1.sh: line 3:
: command not foundge1.sh: line 5:
: command not foundge1.sh: line 7:
: command not foundge1.sh: line 9:
: command not foundge1.sh: line 11:


Mais si je modifie la ligne pour lancement de server steam de:
screen -dmS prive ./home/steam/moi/prive/hlds_run -game cstrike +maxplayers 16 +map de_train +port 27015 -pingboost 3 -autoupdate +sys_ticrate 1000 -tos 


Qui marche pas à:
/home/steam/moi/prive/hlds_run screen -dmS prive -game cstrike +maxplayers 16 +map de_train +port 27015 -pingboost 3 -autoupdate +sys_ticrate 1000 -tos


Et bah je me retrouve confronté à un nouveau message d'erreur:
Invalid game type 'cstrike' sepecified.
mercredi 29 août 2007, 02:43:15 (UTC+0200): Server Failed


Qui me dit, d'après ce que j'ai compris, que la commende est bonne, vu qu'il detect la ligne, mais que le jeu "cstrike" n'éxiste pas alors qu'il existe vu que c'est ce jeu là que j'ai installé :S
0
hackzor44 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Il ne faut pas desespérer!!!!!

pour ton serveur TS essaye de creer un lien symbolique avec ln -s dans init.d puis tu fait un update-rc.d

# ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript /etc/init.d/teamspeak2-server_startscript
# cd /etc/init.d
# update-rc.d teamspeak2-server_startscript defaults

Ca devrait le lancé quand ton serveur demarre.

Si ca ne marche pas tu pourra l'enlever en tapant
# update-rc.d -f teamspeak2-server_startscript remove


pour le hlds :
j'en avais monté plusieurs a une epoque,
tu essaye de jouer a cs1.6 ou css?
si c'est css la jeu est "counter strike source" il me semble.
sinon essaye de mettre des guillemet autour de cstrike.

HACKZOR
0
Utilisateur anonyme
 
# ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript /etc/init.d/teamspeak2-server_startscript
# cd /etc/init.d
# update-rc.d teamspeak2-server_startscript defaults


Je le met dans le "demarrage.sh" ?? Et pk les "#" ??


Et sinon je suis sur cs 1.6
0
hackzor44 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
non tu le tape dans ta console.
et tu enleve
 /home/ts/tss2_rc2/teamspeak2-server_startscript restart 

de demmarage.sh

Hackzor
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Bon j'ai enlever "/home/ts/tss2_rc2/teamspeak2-server_startscript restart"
Puis j'ai tapper :
ns22393:~# ls -s /home/ts/tss2_rc2/teamspeak2-server_startscript
4 /home/ts/tss2_rc2/teamspeak2-server_startscript
ns22393:~# /etc/init.d/teamspeak2-server_startscript
-bash: /etc/init.d/teamspeak2-server_startscript: Aucun fichier ou répertoire de ce type
ns22393:~# update-rc.d teamspeak2-server_sctartscript defaults
update-rc.d: /etc/init.d/teamspeak2-server_sctartscript: file does not exist
ns22393:~#


Je crois que ça marche toujours pas :S
0
hackzor44 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript /etc/init.d/teamspeak2-server_startscript

c'est en une seul ligne.
HACKZOR
0
Utilisateur anonyme
 
Euh ba le "ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript" il marche, mais quand je tape "/etc/init.d/teamspeak2-server_startscript" et ba le fichier est introuvable mais si je refait "ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript" il me dit que le lien est deja crée, moi j'y comprend plus rien :S

ns22393:~# ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript
ns22393:~# /etc/init.d/teamspeak2-server_startscript
-bash: /etc/init.d/teamspeak2-server_startscript: Aucun fichier ou répertoire de ce type
ns22393:~# ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript
ln: création d'un lien symbolique `./teamspeak2-server_startscript' vers `/home/ts/tss2_rc2/teamspeak2-server_startscript': Le fichier existe.
ns22393:~# /etc/init.d/teamspeak2-server_startscript
-bash: /etc/init.d/teamspeak2-server_startscript: Aucun fichier ou répertoire de ce type
ns22393:~#
0
hackzor44
 
il faut que tu tape la commande en une seul fois.

# ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript /etc/init.d/teamspeak2-server_startscript ##


le # marque le debut de la commande et ## la fin

ln te sert a creer un raccourci en gros
donc ta commande est
ln -s ton fichier son-raccourci.


hackzor
0
Utilisateur anonyme
 
Merci hackzor44 pour ce petit cour sur les "#"

Bah, j'ai tapper tout ça, tout à bien fonctionner sans messages d'erreurs
Le lien à bien été crée dans le dossier
Mais pourtant ça ne demarre toujours pas tout seul :S
0
Utilisateur anonyme
 
Comment ca se fait ?
0
Utilisateur anonyme
 
Allo, ya pu personne ?
je fais quoi moi ?
0
hackzor44 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
oups desole mon precedent message n'est pas passé.

fait un
# update-rc.d teamspeak2-server_startscript remove ##

pour le supprimer

on va definir ensuite quiand il doit demarer et quand il doit s'arreter.
update-rc.teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0.

(poste le resultat)

enfin je suis pas tres convaincu mais ca ne coute rien d'essayer.

sinon pour tes lancements de serveur, tu a reussi a avancé?

hackzor
0
Utilisateur anonyme
 
Bon, pour la suppression, aucun problème.

Mais par contre, jai tapper
update-rc.teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0.
mais ça à rien donner :S
ns22393:~# update-rc.teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0.
-bash: update-rc.teamspeak2-server_startscript: command not found


Et sinon, pour les server, rien de plus :S
J'ai rien avancé depuis le debut :(
0
hackzor44 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
autant pour moi j'ai fait une erreur.

update-rc.d teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0.


hackzor
0
Utilisateur anonyme
 
Ah, c'est bien ce que je me disais :P

EUh, bah par contre ca plante quand même avec :
update-rc.d teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0.
ns22393:~# update-rc.d teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0.
update-rc.d: error: expected runlevel [0-9S] (did you forget "." ?)
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults [NN | sNN kNN]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
                -n: not really
                -f: force
ns22393:~# 


Mais si je met un espace à la fin entre le "zéro" et le "point" :
update-rc.d teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0 .

Et bah ça fonctionne et m'affiche :

ns22393:~# update-rc.d -f teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0 .
 Adding system startup for /etc/init.d/teamspeak2-server_startscript ...
   /etc/rc0.d/K40teamspeak2-server_startscript -> ../init.d/teamspeak2-server_startscript
   /etc/rc6.d/K40teamspeak2-server_startscript -> ../init.d/teamspeak2-server_startscript
   /etc/rc1.d/S20teamspeak2-server_startscript -> ../init.d/teamspeak2-server_startscript
   /etc/rc2.d/S20teamspeak2-server_startscript -> ../init.d/teamspeak2-server_startscript
   /etc/rc3.d/S20teamspeak2-server_startscript -> ../init.d/teamspeak2-server_startscript
   /etc/rc4.d/S20teamspeak2-server_startscript -> ../init.d/teamspeak2-server_startscript
   /etc/rc5.d/S20teamspeak2-server_startscript -> ../init.d/teamspeak2-server_startscript
ns22393:~#


C'est bon ?
Et sinon ça veut dire quoi tout les chiffres apres "start" ?

Sinon, aprés tout ça j'ai rebooter, et toujours rien qui démarre tout seul :S:S:S
0
hackzor44 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
c bien ce qu'il fallait faire.

bah normalement c'etait sensé dire qu'il doit demarrer au runlevel 1 2 3 4 5 et s'arreter au runlevel 0 et 6.

bah la je t'avoue que je vois pas pourquoi ca marche pas.

essaye de les mettre a un niveau plus elevé.

update-rc.d -f teamspeak2-server_startscript remove
update-rc.d -f teamspeak2-server_startscript start 60 1 2 3 4 5 . stop 40 6 0 .


hackzor
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
Salut,

bah normalement c'etait sensé dire qu'il doit demarrer au runlevel 1 2 3 4 5 et s'arreter au runlevel 0 et 6.

bah la je t'avoue que je vois pas pourquoi ca marche pas.


c'est normal que ça ne marche pas

le script qui doit se trouver dans /etc/init.d/ supposons que s'appelle demarrage.sh

doit être quelque chose de genre

#!/bin/bash

case $1 in 
'start')
    /chemin/vers/programme.start
    ;;
'stop')
    killall -9 script.start
    ;;
*)
    echo "Usage : $0 {start|stop}"
    ;;
esac


le script programme.start doit contenir les commandes à executer pour les runlevel 2 3 4 5
et pour stop il faut écrire un script qui vas tuer les processus pour le runlevel 0 et 6

0
hackzor44 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
le probleme, c'est que l'on parle juste de teamspeak.

il y a ce genre de code dans le script qui permet de lancé TS.

c'est bien pour ca que j'ai donné cette ligne.
hackzor
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
le probleme, c'est que l'on parle juste de temspeak.
fait une petite visite dans /etc/init.d et regarde comment sont écrits les scripts, tu remarqueras qu'il existe une partie semblable avec l'exemple que j'ai écrit (qui doit biensûr être adapter)

de toute façon insérer les commandes à la fin de fichier /etc/init.d/rc.local c'est suffisant (pas besoin d'un script quelconque) pour que les commandes s'exécutent au démarrage


personnellement je mettrais les commande une par une dans /etc/rc.local et ensuite je testerais avec /etc/init.d/rc.local start pour voir si la commande démarre, et ainsi de suite pour chaque commande
au moins le problème peut être sera ciblé


0
Utilisateur anonyme
 
hackzor44, mê à plus haut niveau cela ne fonctionne pas :

lami20j, moi je veux bien tout faire, et mettre le scipt ds mon rc.local :P
Mais il faut que tu me donne le script complet par contre stp !
0