Son kapatmamın Ubuntu 11.10'da düzgün bir şekilde yapıldığını veya işletim sistemini kapatmadan önce makinenin kapatıldığını nasıl söyleyebilirim?
Son kapatmamın Ubuntu 11.10'da düzgün bir şekilde yapıldığını veya işletim sistemini kapatmadan önce makinenin kapatıldığını nasıl söyleyebilirim?
Yanıtlar:
Makine düzgün kapatıldıysa kern.log
, /var/log
dizinde kayıtlı bir kapatma günlüğü bulunmalıdır . Normal bir önyükleme gerçekleştiğinde bir kapatma işleminden sonra işletim sistemi günlüğü kern.log dosyasına yazar. Bu nedenle, önyükleme ve kapatma işlemi normalse, her önyükleme günlüğünün bir kapatma günlüğünden önce gelmesi gerekir.
Normal bir kapanma gerçekleştiğinde "Kernel logging (proc) stopped."
, kern.log dosyasına yazılır. Benzer şekilde, ne zaman bir açılış gerçekleşirse "imklog 5.8.1, log source = /proc/kmsg started."
kern.log
Bu iki mesaj, ani kapanmadan ziyade kapatma normaldi ise sırayla verilmelidir. Önceki kapatma normalse " imklog 5.8.1, log source = / proc / kmsg start. " Mesajı " Çekirdek günlüğü (proc) durduruldu. " Mesajı olmadan " olmamalıdır. " Her iki mesaj da her zaman logdaki çift olarak gerçekleşmelidir.
Sadece terminali yazınız: -
gedit /var/log/kern.log
ve kapatma ve önyükleme günlüğü çiftlerinin olup olmadığını kontrol edin. Hiçbir yerde çiftler halinde bulunmazlarsa, kapatmanın ani olması gerekir.
kern.log.1
.
cat /var/log/syslog | grep -i "stopped"
daha önceki kapanma mesajlarının bir parçası olmasına rağmen (ve tersine de akıl sağlığı testinden geçemedim). - güncelleme olan var mı?
Ubuntu 16.04'ten itibaren, düzgün bir yeniden başlatmadan sonra gelen temiz bir kapatma, bu iki satırı birbiri ardına / var / log / syslog yazacaktır.
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
Merhaba, son kapatmanın uygun olup olmadığını kontrol etmek için bir komut dosyası çalıştırabilirsiniz. Sadece aşağıdaki satırları bir bash betiğine koyun ve bir sistem açılışından sonra çalıştırın.
#!/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
NOT: Lütfen betiği çalıştırmak için kök kullanıcı olun. Sisteminize zarar vermez :)