Daemontools - superviseConfigurando un servicio con daemontoolsSupervisar un daemon - paso a paso

Supervisar un daemon - paso a paso

  1. crear una cuenta unix para el daemon - la llamamos daemon y su directorio home ~daemon. - creado con modo 1755 (-rwxr-xr-t). Este directorio lleva el nombre damon y esta ubicado en /etc: /etc/daemon
  2. crear una cuenta unix para la bitácora - la llamamos dlog y su directorio home ~dlog.- creado con modo 755 (-rwxr-xr-x). Este directorio lleval el nombre daemon y está ubicao en /var/log/: /var/log/daemon
  3. en ~daemon creamos un script que lanza el daemon, llamado ./run. El script garantiza, que daemon no haze un fork al background, y que todos los mensajes diagnósticos se dirigen a stdout (descriptor 1), un script común puede ser:
    #!/bin/sh echo starting ${PWD##/*/} exec 2>&1 exec envdir ./env script-lanza-daemon
  4. creamos un directorio ./env en el cual definimos el contenido de las variables de ambiente requeridas por el damon creando archivos con el nombre de la variable, cuyo contenido es el valor de la variable.
  5. creamos un directorio ./root en el cual ubicamos los archivos de configuración que lee el daemon.
  6. creamos un enlace simbolico ./log -> ~dlog.
  7. en ~dlog creamos un directorio ./main.
  8. creamos (copiamos) un archivo con el nombre ./run:
    #!/bin/sh exec multilog t ./main
  9. Registramos el daemon con supervise, creando un enlace simbólico a ~daemon en el directorio /var/log/svscan (/service).
    ln -s ~daemon /service
    Dentro de máximamente 5 segundos el daemon inicializa. Si encontramos una falla en nuestros script de arranque, o los queremos modificar por otra razon seguimos el siguiente procedimiento:
  10. copiar el script original a ./run.new
  11. editar ./run.new
  12. copiar atómicamente ./run.new a ./run:
    mv run.new run
  13. reiniciar daemon:
    svc -t ~daemon

Georg Lehner - homepage

Daemontools - superviseConfigurando un servicio con daemontoolsSupervisar un daemon - paso a paso