Monitoreo en tiempo real de archivos con tail
Una de las características más poderosas del comando tail es su capacidad para monitorear archivos en tiempo real. Esto es especialmente útil para observar archivos de registro (log files) mientras se están escribiendo.
Creemos un script simple que simule un archivo de registro que se actualiza continuamente:
cd ~/project
Crea un archivo de script llamado log_generator.sh:
nano log_generator.sh
Agrega el siguiente contenido al script:
#!/bin/bash
for ((i = 1; i <= 10; i++)); do
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Log entry $i: System event recorded" >> simulation.log
sleep 2
done
Guarda el archivo presionando Ctrl+O, luego Enter, y sal de nano con Ctrl+X.
Haz el script ejecutable:
chmod +x log_generator.sh
Ahora, usemos el comando tail con la opción -f para monitorear el archivo de registro en tiempo real. La opción -f significa "seguir" (follow), lo que hace que tail continúe monitoreando el archivo en busca de cambios.
Abre una nueva ventana de terminal haciendo clic en el icono de la terminal en la barra de tareas (o usa el atajo de teclado Ctrl+Alt+T). En la nueva terminal, ejecuta:
cd ~/project
tail -f simulation.log
Ahora, regresa a la ventana de terminal original y ejecuta el script generador de registros:
./log_generator.sh
En la terminal donde estás ejecutando tail -f, deberías ver nuevas entradas de registro apareciendo cada 2 segundos:
[2023-11-01 12:34:56] Log entry 1: System event recorded
[2023-11-01 12:34:58] Log entry 2: System event recorded
[2023-11-01 12:35:00] Log entry 3: System event recorded
...
Después de que el script se complete (después de aproximadamente 20 segundos), regresa a la terminal donde se está ejecutando tail -f y presiona Ctrl+C para detener el monitoreo.
Esta capacidad de monitoreo en tiempo real hace que tail -f sea una herramienta invaluable para los administradores de sistemas que necesitan observar archivos de registro en busca de errores o eventos importantes.