Comment savoir si un système a redémarré ainsi que l'heure du redémarrage en consultant les journaux système?


14

Comment savoir si un système Linux a redémarré et déterminer l'heure du redémarrage en consultant les journaux système, par exemple /var/log/messages?


Redémarré comment? Via une commande de console? Perte de pouvoir? Défaillance matérielle?
devicenull

@devicenull: Je pense que cela devrait être tout ce qui précède, car il est utile de répondre à des questions comme "Quand le courant est-il revenu?" "L'ingénieur a fait QUOI? Quand est-ce arrivé?"
Stefan Lasiewski

Réponses:


24

Très, très facile. La lastcommande analyse /var/log/wtmpl'activité de l'utilisateur, y compris le redémarrage du pseudo-utilisateur.

Utilisez la commande: last reboot

Voir man lastpour plus d'informations. http://linux.die.net/man/1/last

Le pseudo utilisateur reboot se connecte à chaque redémarrage du système. Ainsi, le dernier redémarrage affichera un journal de tous les redémarrages depuis la création du fichier journal.

Si le fichier / var / log / wtmp a subi une rotation depuis votre dernier redémarrage, vous pourrez peut-être voir les redémarrages précédents à l'aide de last -f /var/log/wtmp.1 reboot.


Salut Aaron, merci pour votre aide! J'ai essayé le "dernier redémarrage" sur mon système et j'ai obtenu ceci: "wtmp commence le jeu 1 mars 11:10:40 2012", cependant "uptime" m'a donné ceci: "17:29:21 jusqu'à 6 jours, 9:24, 7 utilisateurs, charge moyenne: 0,00, 0,01, 0,05 ". L'heure actuelle sur mon système est 17:31 1 mars, MST. Il semble donc que le "dernier redémarrage" ait pensé que le système avait été redémarré il y a moins d'un jour, ce qui n'est pas vraiment vrai ... Pouvez-vous m'en dire plus sur la façon dont le "dernier" détermine l'heure de redémarrage? Merci!
Jack Z

2
Cet horodatage n'indique pas un redémarrage. Vous verriez une ligne qui ressemble reboot system boot [kernel] [date]. Donc, cela vous indique jusqu'où va wtmp et qu'il n'y a eu aucun redémarrage depuis le début du journal. Peut-être que le journal a tourné le 1er mars?
Aaron Copley

Ça doit être ça lol, j'ai essayé sur quelques autres systèmes et certains d'entre eux montrent des lignes comme celle-ci: redémarrage du démarrage du système 2.6.27.19-5-defa Thu Jul 14 04:10 (64 + 12: 37). Merci beaucoup!
Jack Z

9

Cela varie d'une distribution à l'autre. Parfois / var / log / {messages, syslog, dmesg} l'inclut. Pour celui que je viens de redémarrer, mes 2 dernières lignes et les toutes premières après le redémarrage sont:

Feb 29 13:16:07 hostname kernel: Kernel logging (proc) stopped.
Feb 29 13:16:07 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="592" x-info="http://www.rsyslog.com"] exiting on signal 15.
Feb 29 13:23:15 hostname kernel: imklog 5.8.1, log source = /proc/kmsg started.
Feb 29 13:23:15 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="572" x-info="http://www.rsyslog.com"] start
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's groupid changed to 103
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's userid changed to 101
Feb 29 13:23:15 hostname rsyslogd-2039: Could no open output pipe '/dev/xconsole' [try http://www.rsyslog.com/e/2039 ]
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpuset
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpu
Feb 29 13:23:15 hostname kernel: [    0.000000] Linux version 3.0.0-12-server (buildd@crested) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 (Ubuntu 3.0.0-12.20-server 3.0.4)
Feb 29 13:23:15 hostname kernel: [    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.0.0-12-server root=/dev/mapper/hostname-root ro
Feb 29 13:23:15 hostname kernel: [    0.000000] KERNEL supported cpus:
Feb 29 13:23:15 hostname kernel: [    0.000000]   Intel GenuineIntel
Feb 29 13:23:15 hostname kernel: [    0.000000]   AMD AuthenticAMD
Feb 29 13:23:15 hostname kernel: [    0.000000]   Centaur CentaurHauls
Feb 29 13:23:15 hostname kernel: [    0.000000] Disabled fast string operations
Feb 29 13:23:15 hostname kernel: [    0.000000] BIOS-provided physical RAM map:

... etc. Cela montre un arrêt normal. Un arrêt inattendu peut ne pas vous indiquer l'heure à laquelle il s'est déconnecté, mais vous pouvez le deviner en fonction de l'écart entre le dernier message et le premier selon le niveau de bruit de votre système.


Merci de votre aide! Puis-je compter sur le "noyau: [0.000000]" comme indicateur de redémarrage du système?
Jack Z

5

Tapez la uptimecommande.

Cela vous indiquera depuis combien de temps votre système fonctionne, ainsi que les moyennes de charge.

Edit: vous pouvez également rechercher un /var/log/kern.log. Cela ne doit contenir que des messages du noyau, il sera donc plus facile de trouver les messages de démarrage.


Remarque: Si ce serveur est important, vous devriez envisager d'implémenter un serveur syslog centralisé avec quelque chose comme Nagios pour surveiller la santé du système et vous alerter des pannes. J'utilise et j'adore AlienVault, qui comprend (les composants sont facultatifs): un serveur syslog, nagios, détection d'intrusion, scanner de vulnérabilité, suivi des actifs et plus encore.
InChargeOfIT

2

Regardez dans vos journaux / var / log / messages ou / var / log / boot pour l'heure de démarrage du système. Un exemple de CentOS 6 ...

Feb 28 23:05:56 dev0 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Feb 28 23:05:56 dev0 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1557" x-info="http://www.rsyslog.com"] (re)start

1

Sur Ubuntu, je cherche la chaîne \] Linux versiondans /var/log/syslog.

Il correspondra à des lignes qui ressemblent à ceci:

27 Jun 2017 12:33:42.268 Hostname:my-hostname : [ 0.000000] Linux version 3.13.0-100-generic (buildd@lgw01-52) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 (Ubuntu 3.13.0-100.147-generic 3.13.11-ckt39) Context
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.