Surveillance en temps réel de fichiers avec tail
L'une des fonctionnalités les plus puissantes de la commande tail
est sa capacité à surveiller les fichiers en temps réel. Cela est particulièrement utile pour observer les fichiers journaux (log files) pendant qu'ils sont en cours d'écriture.
Créons un simple script qui simule un fichier journal en cours de mise à jour continue :
cd ~/project
Créez un fichier de script nommé log_generator.sh
:
nano log_generator.sh
Ajoutez le contenu suivant au 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
Enregistrez le fichier en appuyant sur Ctrl+O
, puis Entrée
, et quittez nano avec Ctrl+X
.
Rendez le script exécutable :
chmod +x log_generator.sh
Maintenant, utilisons la commande tail
avec l'option -f
pour surveiller le fichier journal en temps réel. L'option -f
signifie "suivre" (follow), ce qui fait que tail
continue de surveiller le fichier pour détecter les modifications.
Ouvrez une nouvelle fenêtre de terminal en cliquant sur l'icône du terminal dans la barre des tâches (ou utilisez le raccourci clavier Ctrl+Alt+T
). Dans le nouveau terminal, exécutez :
cd ~/project
tail -f simulation.log
Maintenant, revenez à votre fenêtre de terminal d'origine et exécutez le script de génération de journaux :
./log_generator.sh
Dans le terminal où vous exécutez tail -f
, vous devriez voir de nouvelles entrées de journal apparaître toutes les 2 secondes :
[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
...
Après que le script se soit terminé (au bout d'environ 20 secondes), revenez au terminal où tail -f
est en cours d'exécution et appuyez sur Ctrl+C
pour arrêter la surveillance.
Cette capacité de surveillance en temps réel fait de tail -f
un outil inestimable pour les administrateurs système qui doivent surveiller les fichiers journaux pour détecter les erreurs ou les événements importants.