Apaga que nos vamos
Menos mal que en los malos momentos siempre hay algo en lo que confiar, y en este caso el servidor que mueve blackshell es lo suficientemente rock solid como para que no le tenga que prestar atención.
El otro día arrancaba un Tomcat desde el cron(8)
de un usuario sin privilegios (vía @reboot
). Ante la pregunta de ¿y al apagar el sistema? Bueno, se supone que todos los servicios saben manejar un SIGTERM
en condiciones (la señal que envía init(8)
a los procesos cuando se acaba la fiesta).
Supongamos que nos encontramos con un servicio que mejor lo bajamos en condiciones, ¿cómo lo haríamos con el sistema de scripts RC
de OpenBSD?
Recordemos que los servicios se arrancan añadiendo el código shell adecuado en /etc/rc.local
(un ejemplo: arrancando MySQL). Pero ese código solo se ejecuta al poner la máquina en marcha (no hay posibilidad de pasar argumentos como start / stop que soportan otros sistemas).
Tenemos otro fichero RC
para solucionar este problema: /etc/rc.shutdown
. Este fichero es únicamente para código del administrador. Por ejemplo:
(...blah blah...) # # Your shell code goes here # /usr/sbin/apachectl stop /usr/local/bin/mysqladmin -u root -h localhost --password=passwd shutdown
Detenemos el servidor web y el servidor de bases de datos. Lo único que hay que tener en cuenta, en este caso, es que la contraseña de root
para MySQL
podría ser leída por usuarios no autorizados, así que habrá que ajustar los permisos de lectura del fichero.
Es realmente fácil, pero apuesto a que en la práctica la mayoría de los administradores confían en una adecuada gestión de SIGTERM
. Otra cuestión sería cuántos de esos administradores lo hacen conscientemente ;).
Hay 1 comentario
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.
por r0sk, en 2006-02-20 10:36:26 ∞