Terminal: ¿Hay alguna forma de recibir una notificación de la actividad al seguir un registro de errores?

A menudo hago ssh en una máquina y sigo el registro de errores de php. Mi situación ideal sería dejar esta ventana de terminal abierta en segundo plano, pero cuando hay actividad del comando tail, activar la ventana de terminal y moverla al frente, o notificarme de alguna manera que se ha escrito un error. De esta manera no tendría que mantener siempre reservado el espacio en mi escritorio.

¿Esto tiene sentido?

Respuestas (3)

El ícono del Dock de la Terminal comienza a rebotar si una pestaña que no está activa se imprime \a:

tail -f /var/log/system.log | sed $'s/$/\a/'

O corre sudo gem install terminal-notifiery haz algo como esto:

tail -f /var/log/system.log | while IFS= read -r l; do echo "$l"; terminal-notifier -message "$l" > /dev/null; done

por alguna razón esto no funciona con el registro de apachetail -f /var/log/apache2/error_log | while IFS= read -r l; do echo "$l"; terminal-notifier -message "$l" > /dev/null; done

Pensé en sugerir un AppleScript, Hazel o Keyboard Maestro, pero luego recordé iTerm.

iTerm publica una notificación cuando hay actividad, a través de Growl. Desde la ayuda en línea:

Soporte de gruñido

Si habilita Growl (Preferencias > Perfiles > Terminal > Habilitar notificaciones de Growl) y tiene instalado Growl, recibirá mensajes cuando una terminal emita un pitido, tenga una salida después de un período de silencio o finalice.

Tengo la misma situación: un servidor con archivos de registro y mi máquina local en la que quiero recibir notificaciones sobre errores y advertencias.

Lo que hago es buscar los archivos de registro periódicamente en mi máquina local y verlos con una herramienta llamada Logistic (www.logtastic.net).

El comando que obtiene mis archivos de registro del servidor es:

while true ; do FONTDEFDEFAULT='\033[0m' ; FONTDEF='\033[1;35m'; echo -e "${FONTDEF}Copy ...${FONTDEFDEFAULT}" ; scp [USER]@[YOUR-SERVER]:/path/to/log/files/* /var/log/ ; sleep 3 ; done

Asegúrese de haber generado y compartido claves ssh para evitar ingresar la contraseña cada vez.