Comment savoir que 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?
Comment savoir que 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?
Réponses:
Si la machine a été arrêtée correctement, il doit y avoir un kern.log
fichier journal de journalisation dans le /var/log
répertoire. Après un arrêt chaque fois qu'un démarrage normal se produit, le système d'exploitation écrit le journal pour le même 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 était normal.
Chaque fois qu'un arrêt normal se produit "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 devraient être dans l'ordre si l'arrêt était normal plutôt que de coupure brutale. Il ne devrait pas y avoir de message « imklog 5.8.1, log source = / proc / kmsg démarré » sans le message « Journalisation du noyau (proc) arrêtée » si le précédent arrêt était normal. Le message à la fois doit toujours apparaître en paire dans le journal.
Tapez simplement le terminal: -
gedit /var/log/kern.log
et vérifiez les paires de journaux d'arrêt et de démarrage. S'ils ne se trouvent pas par paires, cet arrêt doit avoir été brutal.
kern.log.1
.
cat /var/log/syslog | grep -i "stopped"
(et similaire. également testé au bon sens au contraire), malgré le fait que cela faisait clairement partie des messages d'arrêt précédents ... - quelqu'un a une mise à jour?
Depuis Ubuntu 16.04, un arrêt net suivi d'un redémarrage correct écrira ces 2 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
Salut, vous pouvez exécuter un script pour vérifier si le dernier arrêt a été correct ou non. Mettez simplement les lignes suivantes dans un script bash et exécutez-le après un 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 être un utilisateur root pour exécuter le script. Cela n'endommagera pas votre système :)