48 votes

Existe-t-il un journal qui enregistre les arrêts sous Linux ?

Je me demandais s'il existait un fichier journal sous Linux qui enregistre chaque fois que l'ordinateur est éteint.

La raison pour laquelle je pose cette question est que j'effectue des tests concernant la durée de vie de la batterie de mon ordinateur portable dans certaines conditions. Mon ordinateur portable est configuré pour s'éteindre automatiquement lorsqu'il reste environ 10 minutes de batterie, donc s'il y a un fichier journal quelque part qui enregistre le moment où l'ordinateur s'éteint, cela facilitera grandement mes tests.

J'utilise Ubuntu 10.04. Merci d'avance !

39voto

Janne Pikkarainen Points 7357

Que diriez-vous d'une commande last -x shutdown ?

19voto

Surreal Points 265

En /var/log/messages devrait vraiment contenir quelque chose concernant les arrêts, par exemple le mien (CentOS 5) a des lignes comme celles-ci :

Jul 18 23:00:13 nero shutdown[2649]: shutting down for system halt
...
Jul 18 23:00:27 nero kernel: Kernel logging (proc) stopped.
Jul 18 23:00:27 nero kernel: Kernel log daemon terminating.

Vérifiez votre /etc/syslog.conf o /etc/rsyslog.conf ou équivalent pour s'assurer que les logs vont bien à cet endroit. Vous aurez probablement besoin des privilèges de root pour lire les fichiers journaux.

De plus, bien qu'il ne s'agisse pas d'arrêts à proprement parler, la commande "last" devrait signaler les redémarrages.

N'y a-t-il vraiment rien dans les journaux à l'heure de votre dernier arrêt ?

Pour vos tests, gardez à l'esprit que votre ordinateur ne sait qu'il lui reste 10 minutes que grâce aux informations fournies par la batterie, qui peuvent être exactes ou non. Plutôt que d'attendre l'arrêt de l'ordinateur, vous pouvez consulter directement les informations de l'ACPI. Sur mon ordinateur portable, c'est ici :

/proc/acpi/battery/BAT0/

Les fichiers "state" et "info" y sont intéressants. Vous pourriez observer la capacité restante dans le fichier "state" pendant que vous utilisez votre ordinateur portable dans différentes conditions pour voir à quelle vitesse elle diminue.

7voto

Ivin Points 472

Tout d'abord, permettez-moi de dire que je sais qu'il s'agit d'un fil de discussion plus ancien. Je le commente uniquement pour que les personnes qui le découvrent en fouillant sur le net (comme je l'ai fait aujourd'hui) aient une réponse claire.

Deuxièmement, veuillez noter que la commande suivante est une mauvaise pratique et entre dans la catégorie des "utilisations inutiles du chat" (recherchez-la sur Google)...

cat /var/log/messages | grep "`LC_ALL=en_en.utf8 date +"%b %e"`"

Cette ligne devrait être modifiée comme suit :

grep "`LC_ALL=en_en.utf8 date +"%b %e"`" /var/log/messages

grep, et la plupart des commandes unix/linux (sed, awk, etc...) n'ont d'ailleurs pas besoin de cat pour lire le contenu d'un fichier. Il suffit de placer le chemin et le nom du fichier après la commande pour le passer en argument. Ajouter un pipe et une autre commande externe (cat) n'est qu'une perte de temps et de ressources.

Enfin, pour savoir où trouver un enregistrement des arrêts et/ou redémarrages du système, utilisez la dernière commande, car c'est exactement ce à quoi elle est destinée. Elle lit le fichier journal /var/log/wtmp pour toutes les entrées de connexion/déconnexion. Comme les arrêts et les redémarrages sont en fait des événements de connexion/déconnexion au niveau du système, ils sont enregistrés ici. Il en va de même pour l'arrêt de la console racine, qui est un événement de déconnexion.

Exemple :

last -5 reboot shutdown root

Vous obtiendrez les 5 dernières entrées de redémarrage, d'arrêt et de root (y compris l'arrêt de la console) dans le journal wtmp.

Résultat :

reboot    ~                         Mon Mar 23 14:51
shutdown  ~                         Mon Mar 23 14:49
root      console                   Mon Mar 23 14:49 - shutdown  (00:00)
reboot    ~                         Mon Mar 16 09:54
shutdown  ~                         Thu Mar 12 17:41

J'espère que cela aidera ceux qui tomberont sur ce fil :-)

4voto

Mark T Points 1276

Le fichier /var/log/messages devrait contenir les informations suivantes

3voto

Aaron Wallentine Points 600

last reboot a fonctionné pour moi sur CentOS 6.7.

Pour faire apparaître l'année dans le résultat, de façon à ce que cela ait un sens si vous avez plus d'une année d'enregistrements, procédez comme suit

last -F reboot

Cependant, j'ai cru comprendre que le commutateur -F ne fonctionnait pas sur certains systèmes, comme Solaris. Cela fait apparemment partie de la dernière version de GNU.

Merci à https://unix.stackexchange.com/a/97597/174520

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X