Question sur les logs + lancement auto


Fixthebug

Messages recommandés

Posté(e)

[citation=36274,0,24][nom]Fixthebug a écrit[/nom]j'ai creer un utilisateur admin et dans la ligne de commande j'ai ajouter

sudo -u admin pour lancer avec admin et non root et lorsque je me connecte en ssh j ouvre une session en tant que admin et ou il ne voit pas de screen ou il me dis qu il est dead mais le processus est encore actif. bizarre[/citation]

le screen est attaché un utilisateur.. c'est normal sinon ça servirait a rien :o

les commandes screen :

Pour lancer un screen : taper screen ou screen nom_du_screen (le screen héritera des droits de l'utilisateur connecté)

Pour se détacher d'un screen : ctrl + a ou screen -d, le screen est toujouts la (ps ax |grep screen....

Pour réattacher un screen : screen - r ou screen -r nom_du_screen (attention au minuscule/majuscule)

Pour lister les screens de L'UTILISATEUR EN COURS screen -ls

enfin les options -m -d permettent de lancer un screen et de détacher le screen directement apres éxécution de la commande, généralement lorqu'on utilise SU ou SUDO, le probleme, et justement celui que vous rencontrez c'est qu'il assez dur récuperer le screen, il faut se déconnecter et sereconnecter avec l'utilisateur qui a servi a crée le screen sans passer par su ou sudo, et réattacher le screen.

Pour le démarrage auto ; il faut crontab :

d'abord il se peut que srcds ait des soucis avec les pidfiles donc il y a un (url=http://www.machgaming.net/srcds_run.patch.gz]patch[/url]

ensuiter tu lances l'editeur de cron

crontab -e

et tu ajoutes :

*/5 * * * * /chemni/vers/ton/srcds/srcdstart.sh

le /5 veut dire que cron verifira toutes les 5 min..

ensuite tu crées le SH srcdstart.sh

#!/bin/sh

dir="./"

# définit la variable d'éxécution, a modifier IP, POort, map selon les gouts

srcdexe="srcds_run -game cstrike -ip xxx.xxx.xxx.xxx -port 27015 +map de_dust2 +maxplayers 20 -pidfile srcds.pid"

# faut pas toucher ça !!!

srcdname="srcds.pid"

cd $dir

if test -r $srcdname; then

# vérivification du PID

srcdpid=`cat $srcdname`

if `kill -CHLD $srcdpid >/dev/null 2>&1`; then

exit 0

fi

echo "Source Dedicated Server Crontab :"

echo ""

echo " Effacement du fichier $srcdname"

rm -f $srcdname

fi

echo ""

echo "Processus Absent.... Redémarrage du Serveur"

echo ""

./$srcdexe

chmod +x srcdstart.sh

Définir l'apparteance du script a l'user crontab et au groupe cron !!

avec la commande chown

Vous pouvez ajouter srcdstart.sh dans votre init.d (rc.d selon la distrib)

par exmeple sous DEbian 'n Like : /etc/rc.d/start.local sous Redhat et Fedora : /etc/init.d/start.local

Je vais rajouter tout ça dans et autres choses dans le tuto, je pensais pas que ça interésserait du monde ;)

Posté(e)

Ca fonctionne.

Mais est ce que c'est possible d'utiliser screen ?

Et est ce que tu as un moyen de separer les logs de deux serveur sur des ports differents ? (192.168.1.1:27016 > /usr/steam/hlds_l/cstrike/logs/27016 et 192.168.1.1:27017 > /usr/steam/hlds_l/cstrike/logs/27017

  • 7 years later...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.