Comment savoir si mon dernier arrêt a été correctement effectué dans Ubuntu 11.10 ou si la machine a été éteinte avant d’arrêter le système d’exploitation?
Si la machine a été arrêtée correctement, un journal d'arrêt doit être consigné dans le fichier kern.log
du répertoire /var/log
. Après un arrêt chaque fois qu'un démarrage normal se produit, le système d'exploitation écrit le journal de la même manière dans kern.log. Par conséquent, chaque journal de démarrage doit être précédé d'un journal d'arrêt si le processus de démarrage et d'arrêt s'est déroulé normalement.
Chaque fois qu’un arrêt normal "Kernel logging (proc) stopped."
est écrit dans kern.log. De même chaque fois qu'un démarrage se produit "imklog 5.8.1, log source = /proc/kmsg started."
est écrit dans kern.log
Ces deux messages doivent être dans l’ordre si l’arrêt était normal plutôt qu’une mise hors tension brusque. Il ne devrait y avoir aucun message " imklog 5.8.1, source de journal =/proc/kmsg. " sans le " La journalisation du noyau (proc) s’est arrêtée. "message si l’arrêt précédent était normal. Les deux messages doivent toujours apparaître deux par deux dans le journal.
Il suffit de taper dans le terminal: -
gedit /var/log/kern.log
et vérifiez les paires de journaux d'arrêt et d'amorçage. S'ils ne se trouvent pas par paires n'importe où, cet arrêt doit avoir été brutal.
À partir d’Ubuntu 16.04, un arrêt complet suivi d’un redémarrage correct écrira ces deux lignes l’une après l’autre dans/var/log/syslog
Mar 9 14:14:06 *YOUR-HOSTNAME* rsyslogd: [Origin software="rsyslogd" swVersion="8.16.0" x-pid="1086" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar 9 15:23:42 *YOUR-HOSTNAME* rsyslogd: [Origin software="rsyslogd" swVersion="8.16.0" x-pid="1069" x-info="http://www.rsyslog.com"] start
Bonjour, vous pouvez exécuter un script pour vérifier si le dernier arrêt était correct ou non. Il suffit de mettre les lignes suivantes dans un script bash et de l'exécuter après le démarrage du système.
#!/bin/bash
B="1"
touch data_file
echo $(($(grep -nr "$(cat /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf $3}') '+%b %-d')" | grep imklog | grep $(cat /var/log/kern.log | grep "$(date -d $(who -b | awk '{printf $3}') '+%b %-d')" | grep imklog | cut -d' ' -f3 | sort -k1 -r | sort --unique --stable -k2,3))" /var/log/kern.log | awk '{printf $1}' | grep -oE "[[:digit:]]{1,}")-$B)) > data_file
if [[
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $6}') == "Kernel") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $7}') == "logging") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $8}') == "(proc)") &&
($(sed -n $(cat data_file)p /var/log/kern.log | awk '{print $9}') == "stopped.")
]]; then
echo Last Shutdown-proper
else
echo Last Shutdown_not proper
fi
rm data_file
REMARQUE: veuillez vous connecter en tant qu'utilisateur root pour exécuter le script. Cela ne nuira pas à votre système :)