[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
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":
Et pour les servers steam il ne sont pas reconnus:
Mais si je modifie la ligne pour lancement de server steam de:
Qui marche pas à:
Et bah je me retrouve confronté à un nouveau message d'erreur:
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
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
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
Ca devrait le lancé quand ton serveur demarre.
Si ca ne marche pas tu pourra l'enlever en tapant
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
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
# 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
non tu le tape dans ta console.
et tu enleve
de demmarage.sh
Hackzor
et tu enleve
/home/ts/tss2_rc2/teamspeak2-server_startscript restart
de demmarage.sh
Hackzor
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon j'ai enlever "/home/ts/tss2_rc2/teamspeak2-server_startscript restart"
Puis j'ai tapper :
Je crois que ça marche toujours pas :S
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
ln -s /home/ts/tss2_rc2/teamspeak2-server_startscript /etc/init.d/teamspeak2-server_startscript
c'est en une seul ligne.
HACKZOR
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:~#
il faut que tu tape la commande en une seul fois.
le # marque le debut de la commande et ## la fin
ln te sert a creer un raccourci en gros
donc ta commande est
hackzor
# 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
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
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
oups desole mon precedent message n'est pas passé.
fait un
pour le supprimer
on va definir ensuite quiand il doit demarer et quand il doit s'arreter.
(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
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
Bon, pour la suppression, aucun problème.
Mais par contre, jai tapper
Et sinon, pour les server, rien de plus :S
J'ai rien avancé depuis le debut :(
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 :(
autant pour moi j'ai fait une erreur.
hackzor
update-rc.d teamspeak2-server_startscript start 20 1 2 3 4 5 . stop 40 6 0.
hackzor
Ah, c'est bien ce que je me disais :P
EUh, bah par contre ca plante quand même avec :
Mais si je met un espace à la fin entre le "zéro" et le "point" :
Et bah ça fonctionne et m'affiche :
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
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
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é.
hackzor
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
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
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
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
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
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
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é
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é