¿Cómo encontrar mensajes de error de los scripts de Linux init.d / rc.d?


28

En Linux, escribí algunos scripts para ejecutar durante el arranque y jugué con las diversas formas de instalarlos. Para scripts más grandes, pondré /etc/init.dy vincularé los /etc/rc.d/rc?.dniveles de ejecución apropiados . Para guiones más pequeños, agregaré /etc/rc.d/rc.local. Este proceso parece estar funcionando sin problemas.

Ahora he modificado uno de mis scripts y está fallando. Me está costando mucho diagnosticarlo porque parece que no puedo capturar la salida del error. He revisado /var/log/messagesy examinado el resto, /var/logpero no puedo encontrar nada útil.

Alguien sabe:

  1. ¿Se capturan automáticamente estos mensajes de error en alguna parte?
  2. si no, ¿cómo puedo capturar el stdout / stderr de mis scripts init.d?

Gracias por adelantado.



Si va a una distribución más moderna con systemd, se encargará de eso y le permitirá registrar los mensajes de registro de cada servicio.
eckes

Respuestas:


17
  1. No, van a STDOUT (si lo usa echo) o STDERR (si lo usa echo >&2).

  2. Sus scripts tienen que escribir en registros y / o syslog por sí mismos (su distribución puede contener algunas funciones init.d que pueden ayudar allí; agregue su distribución a su pregunta).

Si buscas registros busca el teecomando. Si buscas syslog mira logger. Puedes combinarlos de la forma que quieras.



6

Podría hacer una función para hacer eco del mensaje tanto en la pantalla como en syslog, algo como esto:

LOGGER="/usr/bin/logger -t $myScript"    # check the location of logger for your system

myEcho () {
    echo "$1"
    $LOGGER "$1"
}

También puede poner eso en un archivo separado e incluirlo en sus scripts con

#!/bin/bash
myScript=$(basename $0)
[ -r /myFunctions/myecho ] && . /myFunctions/myecho

Gracias, esto está más cerca de lo que estaba buscando. Sé cómo redirigir las E / S pero no sabía cómo llamar al registrador.
McKAMEY

¿Es [ -r ... ]una prueba para verificar si existe?
McKAMEY

Sí, verifique si el archivo es legible.
ott--

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.