Relancé mes programmes au reboot


#1

Bonsoir, voila je pense que mon titre est explicite. Je suis en train de monté mon serveur dédié, seulement je voudrais que celui-ci se reboot une fois par jour car il travaille beaucoup le petit … Bref cependant je veux le rebooter pour que cela ne gene personne c’est à dire à des heures ou je dors et comme j’arrive pas a faire en sorte de lancé mes programmes automatiquement au démarrage et bien je demande votre aide :slightly_smiling:

Je pense comprendre apres une explication. La première chose que j’aimerais lancé automatiquement est un serveur CSS bref …
Voici la commande a executer pour le lancé :
./srcds_run -console -game cstrike +ip 193.24.215.16 +maxplayers 24 +map de_dust2 -port 27015 -noipx -tickrate 100 -autoupdate +log on &

Et le dossier d’ou executer cela se trouve ici :

/home/servercaf/games/

Voila merci beaucoup d’avance à tous :slightly_smiling:


#2

En attendant la réponse des pros (ou le complément de ce que je vais dire) … voici la théorie du newbie que je suis.

  • la ligne de commande que tu as , il faut la transformer en script executable. Et la mettre avec les les autres scripts qui s’executent au démarrage de ton ordinateur.
    Puis programmer un redemarrage à l’heure que tu veux.

Donc tu mets cette ligne de commande dans un fichier que tu “chmod ug+x” (“chmod ug+x TonScript” ça rend TonScript eXecutable par son proprietaire (u) et par le groupe du proprietaire (g))
Mais bon, je me dis que si ton script doit executer une commande qui est dans "/home/servercaf/games/ “. Cette commande c’est “srcds_run” qui lance counter-strike et ce qui suit ce sont les options.
Donc ton script devrait contenir ceci :
” /home/servercaf/games/srcds_run -console -game cstrike +ip 193.24.215.16 +maxplayers 24 +map de_dust2 -port 27015 -noipx -tickrate 100 -autoupdate +log on & " (sans les guillemets).

  • tu met ce script que tu appel “counter_on” (par exemple) dans le repertoire “/etc/init.d/”

  • ensuite, je pense que tu es en “runlevel 2” donc il faut aller dans “/etc/init.d/rc2.d”.
    Dans ce dossier faire un lien nommé “S30counter” et qui pointe vers ton script de démarrage “counter_on”.
    Pour faire ce lien “ln -s /etc/init.d/counter_on S30counter” (S30 étant le degré de priorité par rapport aux autres scripts)

Normalement avec ça ton serveur counter démarra avec ton PC.
Par contre il faut faire aussi un script pour l’éteindre. Cependant je suis incompétent en programmation alors je ne sais pas ce qu’il faut taper comme commande dans ce script pour arrêter counter.
… script qui s’appellera cette fois “counter_off” et que tu placeras dans “/etc/init.d/”.
Il faudra aller faire le lien dans “/etc/init.d/rc6.d” cette fois (car c’est là que sont les liens de fermeture).
Lien qui s’appellera “K20counter” (K pour kill). Pour faire le lien :
“ln -s /etc/init.d/counter_off K20counter”

Pour le reboot tu peux programmer ça en faisant un fichier executable (chmod ug+x TonScript) qui contient la commande "/sbin/reboot"
Fichier dont tu pourras programmer le déclanchement avec l’utilitaire “cron” ou “at”. Mais je te laisse te renseigner sur eux car je ne les ai jamais utilisé.

Si possible faire ça en tant que “root” pour que les fichier appartiennent à “root”.
Pour voir si le script fonctionne, en le lançant à la main, il faut taper “./counter_on” (si tu es dans le bon repertoire) ou “./Chemin/Vers/counter_on”

(faut pas taper tous les guillemets que j’ai mis)

J’ai pas dit trop de conneries ??? Je sais que j’en ai dit mais je saurais pas dire combien. :blush: Vivement la correction.


#3

Ola compliquer tout ca, désolé je suis novice lol :blush:


#4

fabrozor t’a donné la bonne piste:
tu crées un fichier (mettons csscontrol) dans /etc/init.d qui va être un script qui démarre et qui arrète ton service. Regardes comment sont conçu les autres dans le même répertoire.
C’est un script csscontrol qui doit accepter start et stop au moins comme argument.

Mais pour ce qui est de l’install d’un serveur counterstrike, tu trouveras au moins 50 milliards de tutos qui t’expliquent comment faire, non ?
Il n’y a pas un paquet debian qui installe tout pour ce genre de truc ?


#5

[quote=“MattOTop”]fabrozor t’a donné la bonne piste:
tu crées un fichier (mettons csscontrol) dans /etc/init.d qui va être un script qui démarre et qui arrète ton service. Regardes comment sont conçu les autres dans le même répertoire.
C’est un script csscontrol qui doit accepter start et stop au moins comme argument.

Mais pour ce qui est de l’install d’un serveur counterstrike, tu trouveras au moins 50 milliards de tutos qui t’expliquent comment faire, non ?
Il n’y a pas un paquet debian qui installe tout pour ce genre de truc ?[/quote]

L’installation du serveur c’est bon ca c’est afit et il tourne plus qu’a merveille :slightly_smiling:
Bon bah je vais tester et bien voir je vous recontactes :slightly_smiling:


#6

Lol j’ai été voir quelle allure avait les scripts c’est même pas la peine je comprend rien enfin bon pas grave :cry:


#7

j’ai fait ca mais …

je sais pas comment killer le processus :confused:


#8
  1. Pourquoi rebouter? Ca te sert à quoi exactement, j’ai pu constater qu’il y avait des joueurs à toute heure sur un serveur.

$ uptime
11:18:33 up 40 days, 20:58
$ screen -r
stats
CPU In Out Uptime Users FPS Players
0.00 0.00 0.00 58855 4309 99.74 0

mais bon…

  1. killalll srcds_run devrait te convenir

  2. Le plus simple est effectivement de faire un script dans /etc/init.d et de faire un lien

/etc/rc2.d/S99xxxcounterstrike -> /etc/init.d/scriptcounter

  1. va voir boisson.homeip.net/ServeurCS.html tu y trouveras peut être des choses qui te seront utiles (bien que le serveur soit un peu en sommeil en ce moment)

#9

1/c’est vrai que le reboot doit normalement être limité aux cas ou on ne peux pas faire autrement: changement de noyau (et encore, avec kexec, on peut si j’ai bien compris chager de noyau sans rebooter, alors)…
Mais c’est vrai aussi que parfois, tu ne sais plus tout ce que tu as bidouillé comme config, et tu ne sais plus quoi ‘restarter’. Mais c’est pô bien.
Il y a aussi la vérification que la machine redémarre bien comme on pense qu’elle doit, quand on ne l’a pas redémarré depuis longtemps, et qu’on l’a modifiée un peu. Mais ça se prévoit à l’avance…
2/+1 avec fran.b
3/fran.b: c’est pas comme ça (en créant soi même les liens) que ça se fait, même si ta solution marche encore, parceque ça risque de changer…
le mieux est d’utiliser update-rc.d pour insèrer le service scriptcounter (du même nom que le script qu’on a mis dans /etc/init.d):

et là, ça met les liens qu’il faut là ou il faut pour faire démarrer en 20 (en même temps que le reste) et stopper en 20 (ou 80, je ne sais plus, maisen même temps que le reste)
man update-rc.d si vous voulez savoir comment préciser les détails.
4/OK


#10

[quote=“MattOTop”]
3/fran.b: c’est pas comme ça (en créant soi même les liens) que ça se fait, même si ta solution marche encore, parceque ça risque de changer…
le mieux est d’utiliser update-rc.d pour insèrer le service scriptcounter (du même nom que le script qu’on a mis dans /etc/init.d):

et là, ça met les liens qu’il faut là ou il faut pour faire démarrer en 20 (en même temps que le reste) et stopper en 20 (ou 80, je ne sais plus, maisen même temps que le reste)
man update-rc.d si vous voulez savoir comment préciser les détails.
4/OK[/quote]

Oui, je connais update-rc.d, dans ce cas ce serait

update-rc.d scriptcounter defaults 99

afin que le serveur soit lancé en tout dernier (d’où les 3 x en entête). L’inconvénient dans ce cas est que le lien est mis aussi à tous les niveaux. C’est pour ça que ponctuellement, je préfère une simple commande. J’aime bien Debian mais bon, pour des trucs aussi simple, passer 5 minutes sur la manpage pour la syntaxe m’énerve (j’ai tort) :slightly_smiling:

Tant qu’à faire, fais attention à ce que ton script soit lancé en tant que utilisateur simple (le serveur à des failles) et met lui un nice à -10:

su utilisateur -c ./home/servercaf/games/srcds_run -console -game cstrike +ip 193.24.215.16 +maxplayers 24 +map de_dust2 -port 27015 -noipx -tickrate 100 -autoupdate +log on &
rencie -10 pidof srcds_run