tiempo - shell script linux español
¿Cómo comprobar syslog en Bash en Linux? (6)
¿Qué hay de less /var/log/syslog
?
En C nos registramos de esta manera:
syslog( LOG_INFO, "proxying %s", url );
En Linux, ¿cómo podemos comprobar el registro?
En Fedora 19, parece que la respuesta es /var/log/messages
. Aunque verifique /etc/rsyslog.conf
si se ha cambiado.
Por defecto, se registra en el registro del sistema en /var/log/syslog
, por lo que puede leerse por:
tail -f /var/log/syslog
Si el archivo no existe, verifique /etc/syslog.conf
para ver el archivo de configuración de syslogd. Tenga en cuenta que el archivo de configuración podría ser diferente, así que verifique el proceso en ejecución si está usando un archivo diferente:
# ps wuax | grep syslog
root /sbin/syslogd -f /etc/syslog-knoppix.conf
Nota: En algunas distribuciones (como Knoppix), todos los mensajes registrados pueden enviarse a diferentes terminales (por ejemplo, /dev/tty12
), para acceder, por ejemplo, a tty12
presione Control + Alt + F12 .
También puede usar la herramienta lsof
para averiguar qué archivo de registro está usando el proceso syslogd
, por ejemplo
sudo lsof -p $(pgrep syslog) | grep log$
Para enviar el mensaje de prueba a syslogd en shell, puede intentar:
echo test | logger
Para solucionar problemas, use una herramienta de rastreo ( strace
en Linux, dtruss
en Unix), por ejemplo:
sudo strace -fp $(cat /var/run/syslogd.pid)
Un util muy cool es journalctl
.
Por ejemplo, para mostrar syslog a la consola: journalctl -t <syslog-ident>
, donde <syslog-ident>
es la identidad que dio a la función openlog
para inicializar syslog.
en el router Asus se podría hacer a través de
:/bin# busybox
También hay otros comandos relacionados con.
tail -f /var/log/syslog | grep process_name
tail -f /var/log/syslog | grep process_name
donde process_name
es el nombre del proceso en el que estamos interesados