Làm thế nào có thể nói rằng lần tắt máy cuối cùng của tôi đã được thực hiện đúng cách trong Ubuntu 11.10 hoặc nếu máy bị tắt nguồn trước khi tắt HĐH?
Làm thế nào có thể nói rằng lần tắt máy cuối cùng của tôi đã được thực hiện đúng cách trong Ubuntu 11.10 hoặc nếu máy bị tắt nguồn trước khi tắt HĐH?
Câu trả lời:
Nếu máy đã tắt đúng cách thì phải có nhật ký tắt máy đăng nhập kern.log
vào /var/log
thư mục. Sau khi tắt máy bất cứ khi nào khởi động bình thường, HĐH sẽ ghi nhật ký tương tự trong kern.log. Do đó, mọi nhật ký khởi động phải được đi trước bởi nhật ký tắt máy nếu quá trình khởi động và tắt máy là bình thường.
Bất cứ khi nào tắt máy bình thường xảy ra "Kernel logging (proc) stopped."
được viết bằng kern.log. Tương tự như vậy mỗi khi khởi động xảy ra "imklog 5.8.1, log source = /proc/kmsg started."
được viết bằng kern.log
Hai thông báo này phải theo thứ tự nếu tắt máy là bình thường thay vì tắt nguồn đột ngột. Không nên có thông báo " imklog 5.8.1, nguồn log = / Proc / kmsg. " Mà không có thông báo " Kernel log (Proc) dừng lại. " Nếu tắt máy trước đó là bình thường. Cả hai thông báo sẽ luôn luôn xuất hiện theo cặp trong nhật ký.
Chỉ cần gõ vào thiết bị đầu cuối: -
gedit /var/log/kern.log
và kiểm tra các cặp nhật ký tắt máy và khởi động. Nếu chúng được tìm thấy không theo cặp ở bất cứ nơi nào mà tắt máy phải đột ngột.
kern.log.1
.
cat /var/log/syslog | grep -i "stopped"
(và tương tự. cũng đã kiểm tra ngược lại), mặc dù đây rõ ràng là một phần của các thông báo tắt máy trước đó ... (nội dung nhật ký hiển thị, khi nhấn ESC để tắt màn hình giật gân trong khi tắt) - có ai nhận được bản cập nhật không?
Kể từ Ubuntu 16.04, việc tắt sạch sau khi khởi động lại đúng cách sẽ viết 2 dòng này lần lượt sau dòng kia trong / 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
Xin chào, bạn có thể chạy tập lệnh để kiểm tra xem lần tắt máy cuối cùng có phù hợp hay không. Chỉ cần đặt các dòng sau trong tập lệnh bash và chạy nó sau khi hệ thống khởi động.
#!/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
LƯU Ý: Vui lòng ở trong một người dùng root để chạy tập lệnh. Nó sẽ không làm hại hệ thống của bạn :)