Solución 1:
Ah, hay una bandera para esto.
en lugar de usar tail -f /var/log/file
deberíamos estar usando tail -F /var/log/file
tail -F
se traduce a tail --follow=name --retry
como en;
--follow=name
:siga el nombre del archivo en lugar del descriptor del archivo--retry
:si no se puede acceder al archivo, vuelva a intentarlo más tarde en lugar de morir
Solución 2:
# tail --follow=mylog.log
De cola de hombre :
With --follow (-f), tail defaults to following the file descriptor,
which means that even if a tail’ed file is renamed, tail will continue
to track its end. This default behavior is not desirable when you
really want to track the actual name of the file, not the file descrip‐
tor (e.g., log rotation). Use --follow=name in that case. That causes
tail to track the named file by reopening it periodically to see if it
has been removed and recreated by some other program.
Entonces, en este caso, usando el -F
la opción sería correcta.
-F same as --follow=name --retry
Solución 3:
La respuesta exacta depende de su sistema operativo, pero en muchos casos, tail -F
hará lo correcto.
Solución 4:
cola -Para cola --follow=nombre
Solución 5:
En mi humilde opinión, es un poco extraño cambiar el archivo de registro por TAMAÑO en lugar de por fecha. La mayoría de los registros del sistema (en Unix o Linux) rotan semanal o mensualmente, y no según el tamaño... Esto es algo que me gusta por varias razones, y también es algo que, si se implementa, resolvería su problema.
Ocho años después, no sé de qué diablos estaba hablando aquí:hay toneladas de lugares en los que desea rotar por tamaño, porque las rotaciones diarias, semanales o mensuales pueden producir archivos ENORMES que pueden causar problemas graves.
Desde una perspectiva más experimentada, la verdadera pregunta es por qué querrías sentarte y seguir continuamente un archivo que está creciendo tan rápido que lo rotas más que a diario... Sería como ver la transmisión de Matrix.
En estos días, sería mejor que buscara alguna agregación de registros de big data como Splunk o Sumologic, donde puede filtrar eventos de registro en clases y desencadenar en función de valores de registro específicos... No es necesario ver registros en vivo en absoluto.