
Escribí un programa de servidor para mi empresa y ahora me gustaría mantenerlo ejecutándose en el servidor Ubuntu.
Estaba pensando en configurar un cronjob para reiniciar todo el sistema una vez a la semana (por motivos de seguridad, para borrar la RAM en caso de pérdidas de memoria que aún no he encontrado... etc.) pero no estoy seguro de cómo debería hacerlo. mantener el proceso.
Ahora mismo estoy haciendo un
screen
./launch_server
y separándolo. ¿Es esta una buena forma de ejecutar un programa expuesto a la web en un servidor? ¿Necesito algo como daemontools o runit por algún motivo?
Respuesta1
Su pregunta es en realidad una combinación de dos preguntas:
- ¿Cómo ejecuto un programa al arrancar?
UsarAdvenedizoosistemad(un script en /etc/init.d
), dependiendo de su versión.
- ¿Cómo lo mantengo funcionando?
El enfoque más simple sería agregar un trabajo cron que verifique si el nombre del proceso está en estado de ejecución y lo reinicie si no lo está. Complementaría esto con que le envíe un correo electrónico cuando descubra que este es el caso, de modo que si le sucede algo al sistema que lo interrumpe repetidamente, lo sepa. También agregaría un registro con marca de tiempo al programa si aún no lo tiene, para que pueda tener un registro de cuándo ocurren estos eventos.
Si es posible, también se debe registrar la señal o condición que provocó su muerte para poder evitarlo. Incluso puede considerar agregar los registros del programa a sus correos electrónicos automatizados.