[Debian] Demarrage automatique d'un .sh
Utilisateur anonyme
-
Stdliege -
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 !
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:
- [Debian] Demarrage automatique d'un .sh
- Forcer demarrage pc - Guide
- Ordinateur lent au démarrage - Guide
- Rebooter un pc au démarrage - Guide
- Réponse automatique thunderbird - Guide
- Demarrage automatique - Guide
61 réponses
Salut,
bon, vu que tu n'as pas encore réussi, je te propose qu'on recommence de début ;-)
affiche le contenu du
si j'ai bien compris pour que les commandes s'exécute tu dois d'abord démarrer le server teamspeak2-server_startscript?
bon, vu que tu n'as pas encore réussi, je te propose qu'on recommence de début ;-)
affiche le contenu du
teamspeak2-server_startscriptensuite affiche toute le commandes que tu tape à la main, donc pas le contenu de ton script
si j'ai bien compris pour que les commandes s'exécute tu dois d'abord démarrer le server teamspeak2-server_startscript?
Salut,
Ques tu veux dire par "affiche le contenu de 'teamspeak2-server_startscript' ?"
Ne sachant pas, je l'ai ouvert au bloc note, et ai fait un copier coller de ce qui s'affiche, ça donne:
Voilà sinon pour lancer mes teamspeak, je tappe:
Et ensuite, j'enchaine avec les servers steam:
Puis le second steam:
Et etc pour les autres servers steam...
Bon voilà, je voudrais que tou demarre tout seul, si tu veux d'autres renseignements, n'ésite pas !
++
Ques tu veux dire par "affiche le contenu de 'teamspeak2-server_startscript' ?"
Ne sachant pas, je l'ai ouvert au bloc note, et ai fait un copier coller de ce qui s'affiche, ça donne:
#! /bin/bash # Copyright (c) 2004 TeamSpeak team All rights reserved. # # Author: pwk.linuxfan 2004 # case "$1" in start) if [ -e tsserver2.pid ]; then echo "tsserver2.pid already exists...server already started ?"; echo "If you are sure the server is not running, delete tsserver2.pid" exit 1 else if [ "$UID" = "0" ]; then echo WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT for c in $(seq 1 10); do echo -n "!" sleep 1 done echo ! fi echo "starting the teamspeak2 server" if [ -e server_linux ]; then if [ ! -x server_linux ]; then echo "server_linux is not executable, trying to set it" chmod u+x server_linux fi if [ -x server_linux ]; then ./server_linux -PID=tsserver2.pid else echo "server_linux is not executable, fix this" exit 4 fi else echo "Couldnt find server_linux" exit 5 fi fi ;; stop) if [ -e tsserver2.pid ]; then echo -n "stopping the teamspeak2 server" if ( kill -TERM `cat tsserver2.pid` ); then for c in $(seq 1 300); do if [ -e tsserver2.pid ]; then echo -n "." sleep 1 fi done fi if [ -e tsserver2.pid ]; then echo "server does not shutdown cleanly - killing" kill -KILL `cat tsserver2.pid` rm tsserver2.pid sleep 5 else echo "done" fi else echo "tsserver2.pid is missing, no started server ?" exit 7 fi ;; restart) $0 stop && $0 start || exit 1 ;; status) if [ -e tsserver2.pid ]; then echo "the server seems to be running" exit 0 else echo "the server seems to be stopped" exit 3 fi ;; passwords) if [ -e server.log ]; then date=$(cat server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^\([0-9]\+-[0-9]\+-[0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+\).*$/\1/") spass=$(cat server.log | grep "superadmin account info: username: superadmin" | tail -n 1 | sed "s/^.*username: superadmin password: \([a-z0-9]\+\).*$/\1/") pass=$(cat server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^.*username: admin password: \([a-z0-9]\+\).*$/\1/") echo "Following passwords were generated on $date" echo "superadmin = \"$spass\"" echo "admin = \"$pass\"" else echo "server.log not found, maybe you did not start the server yet ?" exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart|status|passwords}" exit 2 esac exit 0
Voilà sinon pour lancer mes teamspeak, je tappe:
#cd /home/ts/tss2_rc2 #./teamspeak2-server_startscript stop #./teamspeak2-server_startscript start
Et ensuite, j'enchaine avec les servers steam:
#cd /home/steam/moi/prive #screen -dmS prive ./hlds_run -game cstrike +maxplayers 16 +map de_train +port 27015 -pingboost 3 -autoupdate +sys_ticrate 1000 -tos
Puis le second steam:
#cd /home/steam/moi/public #screen -dmS public ./hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27000 -pingboost 3 -autoupdate +sys_ticrate 1000 -tos
Et etc pour les autres servers steam...
Bon voilà, je voudrais que tou demarre tout seul, si tu veux d'autres renseignements, n'ésite pas !
++
A faire en root
Etape 1
ensuite tu mets tes commandes à la fin de fichier /etc/init.d/rc.local
Attention!!! Vérifie les commandes peut être j'ai fait des erreurs
j'ai utiliser le chemin absolue (pas besoin de faire un cd dans le répertoire
pour exécuter avec ./hlds_run par exemple
screen -dmS prive /usr/steam/prive/hlds_run -game cstrike +maxplayers 16 +map de_nuke +port 27015 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS public /usr/steam/public/hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27020 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS kz /usr/steam/kz/hlds_run -game cstrike +maxplayers 32 +map kz_volcano +port 27030 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS deadmatch /usr/steam/deadmatch/hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27040 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS gungame /usr/steam/gungame/hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27010 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
Etape 3
redémarre pour tester
Etape 1
cp -v /home/ts/tss2_rc2/teamspeak2-server_startscript /etc/init.d/teamspeak2 chmod -v 0755 /etc/init.d/teamspeak2 update-rc.d teamspeak2 defaultsEtape 2
ensuite tu mets tes commandes à la fin de fichier /etc/init.d/rc.local
Attention!!! Vérifie les commandes peut être j'ai fait des erreurs
j'ai utiliser le chemin absolue (pas besoin de faire un cd dans le répertoire
pour exécuter avec ./hlds_run par exemple
screen -dmS prive /usr/steam/prive/hlds_run -game cstrike +maxplayers 16 +map de_nuke +port 27015 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS public /usr/steam/public/hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27020 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS kz /usr/steam/kz/hlds_run -game cstrike +maxplayers 32 +map kz_volcano +port 27030 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS deadmatch /usr/steam/deadmatch/hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27040 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
screen -dmS gungame /usr/steam/gungame/hlds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27010 -pingboost 3 -autoupdate -sys_ticrate 1000 -tos
Etape 3
redémarre pour tester
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai tout vérifier, et rien ne démarre.
Ni le teamspeak, ni les serveurs !
Kes ke je fai moi !!! ???
:'(:'(:'(
Ni le teamspeak, ni les serveurs !
Kes ke je fai moi !!! ???
:'(:'(:'(
ok, bonne nouvelle, j'ai testé chez moi et ça marche :-)
je te dirai demain comment tu dois faire ;-))
debian:/etc/init.d# ps aux | grep server_linux root 3727 1.3 0.4 63536 2012 pts/0 RNl 21:58 0:02 /home/lami20j/src/tss2_rc2/server_linux -PID=tsserver2.pid
je te dirai demain comment tu dois faire ;-))
pour l'instant on va nettoyer ce qu'on a fait
as-tu créer un utilisateur ts? je suppose que oui (/home/ts/tss2_rc2/ )
affiche
pour les commandes on verra après
update-rc.d -f teamspeak2 remove rm -v /etc/init.d/teamspeak2ensuite
as-tu créer un utilisateur ts? je suppose que oui (/home/ts/tss2_rc2/ )
affiche
grep ts /etc/passwdon va faire étape par étape, d'abord on va démarrer le server
pour les commandes on verra après
Voila, c fait, et ca redemarre toujours pas, j'attend tes instructions ^^
sinn j'ai cette commende a rajouter dans le script de lancement
C'est un add TS
Dans le meme dossier d'ou on lance TS: ( cd /home/ts/tss2_rc2 )
sinn j'ai cette commende a rajouter dans le script de lancement
C'est un add TS
Dans le meme dossier d'ou on lance TS: ( cd /home/ts/tss2_rc2 )
./ts2perlmod_multi_startscript stop ./ts2perlmod_multi_startscript start ./ts2perlmod_startscript stop ./ts2perlmod_startscript start
Voila, c fait, et ca redemarre toujours pas
je n'ai pas dit que ça va marcher :-)
j'ai dit qu'on nettoie d'abord et j'ai demandé aussi le résultat d'une commande
donc ne rajoute rien pour l'instant
en fait tu peux bien supprimer tout (je parle de répertoire tss2_rc2)
on va recommencer tout à zéro
et c'est quoi add TS?
si tu ne dit pas exactement ce que tu fait, on ne pourra pas se comprendre
le fait que ça ne marche pas, c'est parce que dans le script il n'y a pas le chemin complet vers le fichier exécutable
donc quand on mets le fichier dans /etc/init.d le script ne sait plus où doit chercher l'exécutable
en plus d'après ce que j'ai lu le server ne doit pas être démarrer en tant que root pour des raisons de sécurité
j'ai réussi à le démarrer en tant que utilisateur
donc pour l'instant pas de add TS, ça tu le feras après
donc pour finir j'ai besoin que tu m'affiches le résultat de
je n'ai pas dit que ça va marcher :-)
j'ai dit qu'on nettoie d'abord et j'ai demandé aussi le résultat d'une commande
donc ne rajoute rien pour l'instant
en fait tu peux bien supprimer tout (je parle de répertoire tss2_rc2)
on va recommencer tout à zéro
et c'est quoi add TS?
si tu ne dit pas exactement ce que tu fait, on ne pourra pas se comprendre
le fait que ça ne marche pas, c'est parce que dans le script il n'y a pas le chemin complet vers le fichier exécutable
donc quand on mets le fichier dans /etc/init.d le script ne sait plus où doit chercher l'exécutable
en plus d'après ce que j'ai lu le server ne doit pas être démarrer en tant que root pour des raisons de sécurité
j'ai réussi à le démarrer en tant que utilisateur
donc pour l'instant pas de add TS, ça tu le feras après
donc pour finir j'ai besoin que tu m'affiches le résultat de
grep ts /etc/passwd ls -l /home/ts
Ah dsl, je croyai que c'était une commende à entrer, alors je n'avait pas afficher,
Donc voilà, ça donne:
Et le add TS c'est un bot qui surveille le TS :P
Donc voilà, ça donne:
ns22393:~# grep ts /etc/passwd gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh ns22393:~# ls -l /home/ts total 4 drwxr-xr-x 13 max users 4096 2007-09-07 17:40 tss2_rc2 ns22393:~#
Et le add TS c'est un bot qui surveille le TS :P
Je me permet de faire up ce fil car non resolu.
Predator125 ou en est tu avec ton teamspeak et tes serveurs steam.
je pourrais peu-etre t'aider
voici ce que j'ai fait
chmod 0755 /etc/init.d/teamspeak-ro.sh
puis
update-rc.d teamspeak-ro.sh defaults
et voici le code de mon fichier teamspeak-ro.sh, et tout ceci marche sur dedibox debian 4.0 donc si ça peux aider.
Je fait stop afin d'être sur que tout soit éteint puis je lance le tout malgré que ce soit au démarrage du serveur si on lance le serveur ts après un crash de la machine celui-ci ne veux pas démarrer du fait que le ficheir *.pid existe deja le fait de stop resout le probleme il detruit le fichier *.pid
#!/bin/bash
#Arret de Teamspeak Serveur, Perl Mod Script et killall screen pour fermer le Serveur RO
#puis lancement de Teamspeak Serveur, Perl Mod Script et du Serveur RO
EA=serveur
EA_DIR=/home/eathena
TS=teamspeak2-server_startscript
TS_DIR=/home/teamspeak/server
PERL=startscript
PERL_DIR=/home/teamspeak/perlmod
killall screen
cd ${TS_DIR}
./${TS} stop
cd ${PERL_DIR}
./${PERL} stop
cd ${EA_DIR}
screen -dmS AutoStart ./${EA}.sh
cd ${TS_DIR}
./${TS} start
cd ${PERL_DIR}
./${PERL} start
Predator125 ou en est tu avec ton teamspeak et tes serveurs steam.
je pourrais peu-etre t'aider
voici ce que j'ai fait
chmod 0755 /etc/init.d/teamspeak-ro.sh
puis
update-rc.d teamspeak-ro.sh defaults
et voici le code de mon fichier teamspeak-ro.sh, et tout ceci marche sur dedibox debian 4.0 donc si ça peux aider.
Je fait stop afin d'être sur que tout soit éteint puis je lance le tout malgré que ce soit au démarrage du serveur si on lance le serveur ts après un crash de la machine celui-ci ne veux pas démarrer du fait que le ficheir *.pid existe deja le fait de stop resout le probleme il detruit le fichier *.pid
#!/bin/bash
#Arret de Teamspeak Serveur, Perl Mod Script et killall screen pour fermer le Serveur RO
#puis lancement de Teamspeak Serveur, Perl Mod Script et du Serveur RO
EA=serveur
EA_DIR=/home/eathena
TS=teamspeak2-server_startscript
TS_DIR=/home/teamspeak/server
PERL=startscript
PERL_DIR=/home/teamspeak/perlmod
killall screen
cd ${TS_DIR}
./${TS} stop
cd ${PERL_DIR}
./${PERL} stop
cd ${EA_DIR}
screen -dmS AutoStart ./${EA}.sh
cd ${TS_DIR}
./${TS} start
cd ${PERL_DIR}
./${PERL} start
Je répond bien tard mais bon...
Je crois que Teamspeak ne peut pas se lancer avec le compte root. Or au démarrage ton script s'exécute avec le compte root, ce qui bloque ton script au moment où il essaie de lancer teamspeak.
Essaie de mettre :
sudo -u monUtilisateurTeamspeak sh /home/ts/tss2_rc2/teamspeak2-server_startscript start
dans ton script de démarrage.
La commande sh revient au même que ./ sauf que tu ne peux pas utiliser ce dernier avec la commande sudo par exemple.
Je crois que Teamspeak ne peut pas se lancer avec le compte root. Or au démarrage ton script s'exécute avec le compte root, ce qui bloque ton script au moment où il essaie de lancer teamspeak.
Essaie de mettre :
sudo -u monUtilisateurTeamspeak sh /home/ts/tss2_rc2/teamspeak2-server_startscript start
dans ton script de démarrage.
La commande sh revient au même que ./ sauf que tu ne peux pas utiliser ce dernier avec la commande sudo par exemple.
Le programme que tu lance pour que ton serveur dédié s'ouvre tu le place dans Démarrage de windows se trouvent dans :
Démarrer - Tous les programmes et la vous cherchez Démarrage, une fois trouver vous prennez le dossier ou fichier contenant le serveur dédié et placer le dedans.
Voilà, à chaque démarrage votre serveur se lancera ;)
Démarrer - Tous les programmes et la vous cherchez Démarrage, une fois trouver vous prennez le dossier ou fichier contenant le serveur dédié et placer le dedans.
Voilà, à chaque démarrage votre serveur se lancera ;)
Bonjour!!!
"Voilà, si vous pouviez m'aider à me dire ce qui ne va pas je vous en serez très reconnaîssant ! "
'Bah... la guerre ca craint"
C'est à toi de nous dire ce qui ne va pas!!!!!!
"Voilà, si vous pouviez m'aider à me dire ce qui ne va pas je vous en serez très reconnaîssant ! "
'Bah... la guerre ca craint"
C'est à toi de nous dire ce qui ne va pas!!!!!!
Le problème c'est que rien ne se lance au demarrage ^^ :S
Et que je suis encore obliger de tout tapper à chaque reboot.
Le script ne fonctionne pas quoi !
Et que je suis encore obliger de tout tapper à chaque reboot.
Le script ne fonctionne pas quoi !