strace-log-merge

Linux
Publiée le 2026-09-05 05:07:25
Illustration Linux pour la commande strace-log-merge

strace-log-merge


# Définis le répertoire où se trouvent tes logs strace
LOG_DIR="/var/log/strace"

# Vérifie si le répertoire existe, sinon tu ne peux rien faire
if [ ! -d "$LOG_DIR" ]; then
echo "Erreur: Le dossier $LOG_DIR n'existe pas." >&2
exit 1
fi

# Trouve tous les fichiers de logs potentiels (ex: STRACE_LOG.PID)
find "$LOG_DIR" -name "STRACE_LOG.*" | while read LOGFILE; do
# Extrait le PID du nom du fichier pour l'utiliser comme préfixe
FILENAME=$(basename "$LOGFILE")
PID=$(echo "$FILENAME" | sed -E 's/STRACE_LOG\.([0-9]+)\.log/\1/')

# Vérifie si un PID a été trouvé et s'il y a du contenu dans le fichier
if [[ ! -z "$PID" ]] && [ -s "$LOGFILE" ]; then
echo "--- Traitement du log pour le processus $PID ---"

# Lit chaque ligne du fichier de log
cat "$LOGFILE" | while read LINE; do
# Ajoute un préfixe PID et une marqueur de séparation au début de la ligne
echo "[PID:$PID] $LINE"
done
fi
done |

# Pipe tout le résultat combiné vers 'sort' pour trier chronologiquement
# Ceci est crucial car les logs viennent de sources différentes.
sort -k1,2 |

# Optionnel : Affiche un en-tête clair au début du résultat final
echo "--- Résultat fusionné et trié des logs strace ---"