Estoy alojando algunos servidores de juegos Counter-Strike en mi servidor dedicado usando la pantalla. Tengo este script que ejecuto cuando quiero iniciar / detener los servidores:
#! /bin/sh
# /etc/init.d/css-server
#
case "$1" in
start)
echo "Starting Nullus Imprimis war server..."
screen -A -m -d -S css-war-server /home/css-servers/war-server/css/srcds_run -game cstrike +map de_dust2 +maxplayers 16 -autoupdate -port 2555 -tick 100
echo "Nullus Imprimis war server started"
echo "Starting Nullus Imprimis pub server #1..."
screen -A -m -d -S css-pub-server-1 /home/css-servers/pub-server-1/css/srcds_run -game cstrike +map de_dust2 +maxplayers 32 -autoupdate -port 2666 -tickrate 100
echo "Nullus Imprimis pub server #1 started"
;;
stop)
echo "Stopping Nullus Imprimis war server..."
screen -S css-war-server -X quit
echo "Nullus Imprimis war server stopped"
echo "Stopping Nullus Imprimis pub server #1..."
screen -S css-pub-server-1 -X quit
echo "Nullus Imprimis pub server #1 stopped"
;;
*)
echo "Usage: /etc/init.d/css-servers {start|stop}"
exit 1
;;
esac
exit 0
Puse este script (llamado css-servers
) en /etc/init.d/
mi conocimiento, lo que significa que se ejecuta cuando se inicia el sistema. Sin embargo, cuando verifico las pantallas activas usando screen -ls
no hay ninguna en ejecución.
¿Cómo puedo hacer que estos se ejecuten al inicio en Ubuntu Server?
update-rc.d
comando. Actualicé mi script y luego no se ejecutó más hasta que ejecuté este comando. Gracias. Por cierto, ¿cómo podemos "desregistrarlo" para que no se ejecute al inicio (como hicimos con update-rc.d)?Tienes la primera parte hecha.
/etc/init.d
es donde se ejecutan los scripts de inicialización. Sin embargo, no se ejecutan automáticamente.Se ejecutan en el orden especificado por los enlaces simbólicos de los
/etc/rc*.d
directorios. Cada nivel de ejecución tiene su propio directorio. Los scripts con nombres de enlaces que comienzan conK
se ejecutan con el stop stopmeter, y aquellos con nombres que comienzan conS
se ejecutan con el parámetro de inicio. Por convención, los nombres de los archivos comienzan conK
oS
seguido de un número de dos dígitos utilizado para la secuencia, y termina con el nombre del script en/etc/init.d
.Los enlaces se pueden crear manualmente, pero generalmente se crean con un script. El script genérico
update-rc.d
está disponible en Ubuntu. El comandoman update-rc.d
le dará documentación sobre quién usarlo. En su caso intente:Para iniciarlo usando el script de inicio, intente:
Por lo general, inicio y detengo el servidor de esta manera para asegurarme de que el script funciona como se desea. Luego corro
update-rc.d
para agregarlo a los/etc/rc.d
directorios de nivel de ejecución.fuente
Si no tiene idea de por qué su servicio no se inicia en el arranque. Sin embargo, funciona correctamente cuando intenta iniciar el servicio manualmente
service <your service> start
. En ese caso, intente redirigir la salida estándar y la salida de error a algún archivo. Lo que puede darle alguna pista de por qué no se inicia al iniciar el sistema.por ejemplo, dentro de tu guión
fuente