Scripts de fondo en OpenEuler

Configuración del servicio MongoDB en /etc/init.d/mongodb_service.sh

#!/bin/sh
#chkconfig: 2345 80 90
#description: Inicia y detiene el servidor MongoDB

iniciar() {
/opt/mongodb/bin/mongod --config /opt/mongodb/conf/mongo_config.conf
echo "Servidor MongoDB iniciado"
}

detener() {
/opt/mongodb/bin/mongod --config /opt/mongodb/conf/mongo_config.conf --shutdown
echo "Servidor MongoDB detenido"
}

case "$1" in
    iniciar)
        iniciar
        ;;
    detener)
        detener
        ;;
    reiniciar)
        detener
        iniciar
        ;; 
esac

service mongodb_service.sh iniciar|detener|reiniciar

Cofniguración del servicio Redis en /etc/init.d/redis_service.sh

#!/bin/sh
### METADATO DE INICIO
# Proporciona: redis_6379
# Inicio por defecto: 2 3 4 5
# Detención por defecto: 0 1 6
# Descripción breve: Servidor de estructuras de datos Redis
# Descripción: Servidor de estructuras de datos Redis. Ver https://redis.io
### FIN DE METADATO

PUERTO_REDIS=6379
EXECUTABLE=/opt/redis/bin/redis-server
CLI_TOOL=/opt/redis/bin/redis-cli

ARCHIVO_PID=/var/run/redis_${PUERTO_REDIS}.pid
CONFIG="/opt/redis/bin/conf/redis_config.conf"

case "$1" in
    iniciar)
        if [ -f $ARCHIVO_PID ]
        then
                echo "$ARCHIVO_PID existe, el proceso ya está en ejecución o falló"
        else
                echo "Iniciando servidor Redis..."
                $EXECUTABLE $CONFIG
        fi
        ;;
    detener)
        if [ ! -f $ARCHIVO_PID ]
        then
                echo "$ARCHIVO_PID no existe, el proceso no está en ejecución"
        else
                PID=$(cat $ARCHIVO_PID)
                echo "Deteniendo..."
                $CLI_TOOL -p $PUERTO_REDIS shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Esperando a que Redis se detenga..."
                    sleep 1
                done
                echo "Redis detenido"
        fi
        ;;
    *)
        echo "Utilice iniciar o detener como primer argumento"
        ;;
esac

service redis_service.sh iniciar|detener

Configruación del servicio .NET Core en /etc/systemd/system/aplicacion_datos.service

[Unit]
Descripción=Servicio de recolección de datos

[Service]
DirectorioTrabajo=/opt/aplicacion_datos
ExecStart=nohup /usr/bin/dotnet /opt/aplicacion_datos/aplicacion_datos.dll
Restart=always
RestartSec=10
SyslogIdentifier=dotnet core console
Usuario=root
Environment=ASPNETCORE_ENVIRONMENT=Producción

[Install]
WantedBy=multi-user.target

systemctl iniciar|detener aplicacion_datos

Etiquetas: MongoDB Redis systemd scripting en shell init.d

Publicado el 9-11 10:26