¿Dónde está el archivo de registro de rc.local?

52

Tengo algunos comandos en mi rc.local. Sé que están fallando. ¿Cómo puedo obtener el archivo de registro con mensajes producidos al ejecutar rc.local? ¿Donde está localizado?

He comprobado el /var/log/boot.log. Sé que mis mensajes no están allí porque ya sé cuál es la razón del fracaso. Pero todavía quiero asegurarme del archivo de registro.

Tenga en cuenta que no quiero volver a ejecutar el script, podría pero no quiero. Prefiero analizar lo que sucedió durante el inicio.

Gracias por cualquier ayuda.

Escritorio Ubuntu 12.04 (si es importante)

vladimir
fuente

Respuestas:

59

A menos que un comando tenga salida o registro ya configurado, los rc.localcomandos no se registrarán en ningún lado.

Si desea ver los registros de comandos específicos, intenta redirigir la salida estándar y stderr de rc.localque en algún lugar se puede comprobar. Intente agregar esto a la parte superior de su /etc/rc.localarchivo:

exec 1>/tmp/rc.local.log 2>&1  # send stdout and stderr from rc.local to a log file
set -x                         # tell sh to display commands before execution

Aunque esto requerirá volver a ejecutar el rc.localarchivo.

Ross
fuente
3
exec &> /tmp/rc.local.loges suficiente en lugar de las dos llamadas ejecutivas :-)
AjayKumarBasuthkar
2
@ abu-bua: ¡Tenga cuidado al revisar las sugerencias de edición que introducen cambios funcionales! &>la redirección es un Bash-ism y falla silenciosamente en Dash y otras implementaciones "simples" de /bin/shintérpretes como la utilizada rc.local.
David Foerster
!/bin/sh -eQué significa "al principio" antes de la primera línea ?
Ben
12

Intente comprobar si hay fallas en el /var/log/syslogarchivo.

Sylvain Pineau
fuente
10

Con systemd, rc.local se considera un servicio para el que systemd recopila registros. Puedes revisarlos con:

systemctl status rc.local.service

Puede ver los errores (si existen) a través del registro de servicio.

Amir Ohadi
fuente
2

Pase a ver

  1. /var/log/messages
  2. /var/log/daemon

O use el comando dmesg

less /var/log/boot.log
less /var/log/dmesg
grep error /var/log/dmesg
grep <your expected error string> /var/log/boot.log

O use scripto alguna otra herramienta para capturar un inicio de sesiónrc.local

Kirchberger
fuente