.png)
Estoy ejecutando un servidor de correo al que me conecto mediante SSH. Mi .bash_profile
está configurado para adjuntar una sesión SSH a una screen
sesión determinada.
Ahora me gustaría imprimir un registro (por ejemplo, el syslog) en una ventana de esta sesión de pantalla. Intenté correr
tail -f /var/log/syslog
pero la salida se detiene todos los días a las 6:25. Supongo que ese es el momento en que se gira el tronco. Entonces, ¿hay alguna manera de imprimir el registro en pantalla?
Respuesta1
Necesitastail --follow=name /var/log/syslog
La razón es que de forma predeterminada (supuestamente por motivos de rendimiento) tail
abre el archivo especificado y luego lo observa.el descriptor del archivoobtiene de esa open(2)
convocatoria de cambios. Esto funciona bien siempre que se cambie el archivo, se agregue o incluso se reescriba (truncandolo primero), pero deja de funcionar si el archivo se modifica.reemplazado—Es decir, eliminado y creado con el mismo nombre, y eso es lo que logrotate
normalmente ocurre.
El modo "nombre" de --follow
hace tail
uso de una llamada al sistema más costosa stat(2)
que en realidad "resuelve" el nombre del archivo cada vez a través de la capa del sistema de archivos, y si tail
nota que el archivo cambió, se llama"inodo", tail
vuelve a abrir el archivo.
La salida de man tail
:
-f, --follow[={name|descriptor}]
generar datos agregados a medida que el archivo crece; un argumento de opción ausente significa 'descriptor'
También puede consultar la -F
opción de línea de comandos, que se define como
-F
igual que--follow=name --retry
Respuesta2
Tu suposición es realmente correcta. En este momento, syslog interrumpe la escritura en el registro, crea un gz y reinicia el registro.
Podrías probar con
tail -f --retry /var/log/syslog
De esta manera, tail debería volver a intentar volver a abrir el archivo cuando se haya realizado la rotación de registros.