Tengo un software que rota sus archivos de registro cuando se reinicia. Sin embargo, durante el desarrollo, lo reinicio mucho, por lo que me gustaría monitorear el último archivo de registro en cualquier momento.
Si empiezo lessnormalmente con less program.logy presiono Shift+ fen la cola, cuando el archivo de registro se gira, continúo monitoreando el archivo de registro anterior. Supongo que esto se debe a que el número de inodo permanece igual y lesstiene un identificador de archivo abierto para ese inodo.
¿Es posible monitorear la última actividad en cualquier archivo de registro que se llame actualmente program.log?
Específicamente, estoy trabajando en Sun OS, por lo que una solución que funcione allí sería ideal.

tail -F program.log | lessfuncionetail -f program.loghas intentado esto?Respuestas:
Úselo
less --follow-namesi su versión de lolessadmite. Esa opción se introdujo en la versión 416.fuente
La
lessopción--follow-namees solo una parte de la solución;Para reemplazar
tail -F, se necesita otro argumento:La opción solo como en
less --follow-name file.logrealidad no comienza a seguir las actualizaciones del archivo. Debe ingresar al modo de seguimiento presionando ShiftF.(Salga del modo para navegar ControlC).
En lugar de seguir el archivo,
--follow-namemodifica el comportamiento de less.Hace que la tecla de comando ShiftFdentro de
lessseguir se base en el nombre del archivo, no en el descriptor del archivo.Además, no hay una opción normal para comenzar
lessen modo de seguimiento.Pero puede usar la línea de comando para dar pulsaciones de teclas para ejecutar después del inicio, prefijándolas con
+.La combinación de la opción del modificador con
+F, enlessrealidad comenzará en el modo de seguimiento (modificado).Úselo
+Fsolo para el equivalente de plaintail -f:fuente
Acabo de encontrar la respuesta en estas preguntas y respuestas de U&L tituladas: ¿Cómo hacer un
tail -fregistro de archivos rotados? .Utilizando
tail:(si instalar GNU tail en su sistema es una opción)
Desde la página del manual de la cola :
La clave es el
--retryinterruptor. Esto le dice altailcomando que siga intentando volver a seguir un archivo por su nombre. El-Finterruptor hace tanto a-fcomo a--retry.Utilizando
lessComo @StephaneChazela señaló en los comentarios, lo siguiente no funcionará.
La única otra opción que tiene es usar menos directamente, suponiendo que sea compatible con el
--follow-nameinterruptor ylessel archivo directamente, dejando de usarlo portailcompleto.fuente
lessse colgará si haces "G" pr "F". Lo que puedes interrumpir haciendo "Ctrl-C", pero luego mata la cola. Luego puede inmunizar la cola a Ctrl-C, pero aún no es muy útil.