Làm cách nào để kiểm tra xem lần tắt máy cuối cùng có sạch không?


23

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?


2
Hãy xem /var/log/syslog.0
Gigili

Câu trả lời:


23

Nếu máy đã tắt đúng cách thì phải có nhật ký tắt máy đăng nhập kern.logvà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. " 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ý.nhập mô tả hình ảnh ở đây

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.


1
thay thế gedit bằng trình soạn thảo văn bản mặc định của bạn.
Vikramjeet

kern.log của tôi trống rỗng
Nade

1
@Nade thử kern.log.1.
một ben khác

2
không có cụm từ nào trong nhật ký của tôi Thậm chí không phải là một phần của họ. Tôi thực sự cần phải biết nếu máy tính của tôi tắt máy đúng cách. Tôi tin rằng tôi có một đứa trẻ chỉ cần giữ nút nguồn.
KI4JGT

kể từ Ubunutu 16.04, điều này dường như không còn đúng nữa. tức là tôi không nhận được 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?
Frank Nocke

4

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

0

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 :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.