Chercher dans les fichiers avec grep
En helpdesk, vous passez une bonne partie du temps à analyser des logs : erreurs Apache, authentifications échouées, plantages GLPI... grep est votre meilleur allié — il cherche des lignes correspondant à un motif dans un ou plusieurs fichiers, en quelques millisecondes même sur des fichiers de plusieurs gigaoctets.
La syntaxe de base
grep "motif" fichier
grep "erreur" /var/log/syslog
Les options indispensables
grep -i "error" error.log # -i : insensible à la casse (Error, ERROR, error)
grep -n "failed" auth.log # -n : affiche le numéro de ligne
grep -r "mot_de_passe" /etc/ # -r : récursif dans un dossier
grep -v "DEBUG" application.log # -v : inverse (affiche les lignes qui NE contiennent PAS)
grep -c "404" access.log # -c : compte le nombre de lignes
grep -l "glpi" /etc/*.conf # -l : liste les fichiers qui contiennent
grep -A 3 "FATAL" error.log # -A 3 : affiche 3 lignes Après chaque résultat
grep -B 2 "FATAL" error.log # -B 2 : affiche 2 lignes Avant
grep -C 2 "FATAL" error.log # -C 2 : context (avant + après)