ฉันจะตรวจสอบว่าการปิดระบบครั้งล่าสุดนั้นสะอาดได้อย่างไร


23

จะบอกได้อย่างไรว่าการปิดระบบครั้งล่าสุดของฉันนั้นทำอย่างถูกต้องใน Ubuntu 11.10 หรือหากเครื่องถูกปิดก่อนที่จะปิดระบบปฏิบัติการ


2
ดู /var/log/syslog.0
Gigili

คำตอบ:


23

หากเครื่องถูกปิดอย่างถูกต้องจะต้องมีการบันทึกการปิดระบบเข้าสู่kern.logไฟล์ใน/var/log ไดเรกทอรี หลังจากปิดระบบทุกครั้งที่มีการบูตปกติระบบจะเขียนบันทึกสำหรับ kern.log ดังนั้นบันทึกการบูตทุกครั้งจะต้องนำหน้าด้วยบันทึกการปิดระบบหากกระบวนการบูตและปิดระบบเป็นเรื่องปกติ

เมื่อใดก็ตามที่การปิดระบบปกติเกิดขึ้น"Kernel logging (proc) stopped."จะเขียนด้วย kern.log ในทำนองเดียวกันเมื่อใดก็ตามที่การบูตเกิดขึ้น"imklog 5.8.1, log source = /proc/kmsg started."จะเขียนด้วย kern.log

ข้อความทั้งสองนี้ควรอยู่ในลำดับหากการปิดระบบเป็นปกติแทนที่จะปิดลงอย่างกระทันหัน ไม่ควรมีข้อความ " imklog 5.8.1 แหล่งบันทึก = / proc / kmsg เริ่มต้น " โดยไม่มีข้อความ " การบันทึกเคอร์เนล (proc) หยุด " ข้อความหากการปิดระบบก่อนหน้านี้เป็นเรื่องปกติ ข้อความทั้งสองควรเกิดขึ้นเป็นคู่ในบันทึกเสมอป้อนคำอธิบายรูปภาพที่นี่

เพียงพิมพ์เทอร์มินัล: -

gedit /var/log/kern.log

และตรวจสอบคู่การปิดระบบและการบูต หากพบว่าไม่ใช่คู่ใด ๆ ก็ตามการปิดระบบนั้นต้องเกิดขึ้นทันที


1
แทนที่ gedit ด้วยโปรแกรมแก้ไขข้อความเริ่มต้นของคุณ
Vikramjeet

kern.log ของฉันว่างเปล่า
Nade

1
@Nade kern.log.1ลอง
เบ็นที่แตกต่าง

2
ไม่มีวลีเหล่านั้นอยู่ในบันทึกของฉัน ไม่ได้เป็นส่วนหนึ่งของพวกเขา ฉันต้องรู้จริงๆว่าคอมพิวเตอร์กำลังปิดอย่างถูกต้อง b / c หรือไม่ฉันเชื่อว่าฉันมีเด็กที่เพียงแค่กดปุ่มเปิดปิดค้างไว้
KI4JGT

จาก Ubunutu 16.04 ดูเหมือนว่าจะไม่ถูกต้องอีกต่อไป เช่นฉันไม่ได้รับcat /var/log/syslog | grep -i "stopped"(และที่คล้ายกันนอกจากนี้ยังผ่านการทดสอบด้านความมีสติ) แม้ว่าจะเป็นส่วนหนึ่งของข้อความการปิดระบบก่อนหน้านี้อย่างชัดเจน ... (สิ่งบันทึกที่มองเห็นได้เมื่อกด ESC เพื่อฆ่าหน้าจอสแปลชขณะปิด) - ใครก็ได้รับการอัปเดต
Frank Nocke

4

ในฐานะของ Ubuntu 16.04 การปิดระบบใหม่ตามด้วยการรีบูตที่เหมาะสมจะเขียน 2 บรรทัดนี้หลังจากรายการอื่นใน / 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

สวัสดีคุณสามารถเรียกใช้สคริปต์เพื่อตรวจสอบว่าการปิดระบบครั้งล่าสุดนั้นเหมาะสมหรือไม่ เพียงแค่ใส่บรรทัดต่อไปนี้ในสคริปต์ทุบตีและเรียกใช้หลังจากบูตระบบขึ้น

#!/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

หมายเหตุ: โปรดอยู่ในผู้ใช้รูทเพื่อเรียกใช้สคริปต์ มันจะไม่เป็นอันตรายต่อระบบของคุณ :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.