GNU/Linux >> Tutoriels Linux >  >> Linux

Centos Linux avec horodatage dmesg

Solution 1 :

dmesg lit le tampon circulaire du journal du noyau. Il ne fait pas d'horodatage. Ce que vous devez faire est de configurer syslog pour récupérer les journaux du noyau à partir de ce tampon et les envoyer dans un fichier (s'il n'est pas déjà configuré pour le faire). Remarque, la configuration syslog par défaut de CentOS 5.x envoie les journaux du noyau à /var/log/messages , si je me souviens bien.

Si vous souhaitez envoyer tous les journaux du noyau (dmesg) à /var/log/kern.log , en utilisant le démon syslog par défaut, vous ajouteriez une ligne comme celle-ci à /etc/syslog.conf

kern.*                         /var/log/kern.log

Solution 2 :

Il existe une solution "Activer les horodatages pour dmesg/Kernel Ring Buffer"

Vous pouvez ajouter :

printk.time=1

à la ligne de commande du noyau.

Quant à moi, j'ai ajouté à rc.local sur toutes les machines avec marionnette. C'est plus simple pour moi) :

if test -f /sys/module/printk/parameters/time; then
   echo 1 > /sys/module/printk/parameters/time
fi

Solution 3 :

J'ai écrit ce script simple. Oui, c'est lent. Si vous voulez quelque chose de plus rapide, vous écrivez en fait un script sur perl, python ou autre chose. Je suis sûr que ce simple script peut vous donner une idée de la façon dont il peut être calculé.

Veuillez noter que j'ai ignoré la fraction de seconde enregistrée dans chaque ligne (après le . dans l'horodatage).

#!/bin/bash
localtime() {
 perl -e "print(localtime($1).\"\n\");";
}

upnow="$(cut -f1 -d"." /proc/uptime)"
upmmt="$(( $(date +%s) - ${upnow} ))"

dmesg | while read line; do
 timestamp="$(echo "${line}" | sed "s/^\[ *\([0-9]\+\).*/\1/g")"
 timestamp=$(( ${timestamp} + ${upmmt} ))
 echo "${line}" | sed "s/^[^]]\+]\(.*\)/$(localtime "${timestamp}") -\1/g"
done

J'espère que cela aide. :)


Linux
  1. Outils Linux :faire passer le message avec dmesg

  2. Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

  3. CentOS / RHEL :Exclusion avec Yum pour les mises à jour du noyau

  4. Débogage du noyau Linux avec QEMU

  5. Renommer des fichiers sous Linux avec une regex

Le noyau Linux contre. Mac noyau

Gérer et surveiller les modules du noyau Linux avec Kmon

Imprimer l'horodatage avec la sortie de la commande Ping sous Linux

Patcher le noyau Linux Raspberry Pi avec KernelCare GRATUITEMENT !

Afficher les informations du module du noyau Linux avec la commande Modinfo

Mettre à niveau le noyau Linux de CentOS 8