จะบอกได้อย่างไรว่าการปิดระบบครั้งล่าสุดของฉันนั้นทำอย่างถูกต้องใน Ubuntu 11.10 หรือหากเครื่องถูกปิดก่อนที่จะปิดระบบปฏิบัติการ
จะบอกได้อย่างไรว่าการปิดระบบครั้งล่าสุดของฉันนั้นทำอย่างถูกต้องใน Ubuntu 11.10 หรือหากเครื่องถูกปิดก่อนที่จะปิดระบบปฏิบัติการ
คำตอบ:
หากเครื่องถูกปิดอย่างถูกต้องจะต้องมีการบันทึกการปิดระบบเข้าสู่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
และตรวจสอบคู่การปิดระบบและการบูต หากพบว่าไม่ใช่คู่ใด ๆ ก็ตามการปิดระบบนั้นต้องเกิดขึ้นทันที
kern.log.1
ลอง
cat /var/log/syslog | grep -i "stopped"
(และที่คล้ายกันนอกจากนี้ยังผ่านการทดสอบด้านความมีสติ) แม้ว่าจะเป็นส่วนหนึ่งของข้อความการปิดระบบก่อนหน้านี้อย่างชัดเจน ... (สิ่งบันทึกที่มองเห็นได้เมื่อกด ESC เพื่อฆ่าหน้าจอสแปลชขณะปิด) - ใครก็ได้รับการอัปเดต
ในฐานะของ 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
สวัสดีคุณสามารถเรียกใช้สคริปต์เพื่อตรวจสอบว่าการปิดระบบครั้งล่าสุดนั้นเหมาะสมหรือไม่ เพียงแค่ใส่บรรทัดต่อไปนี้ในสคริปต์ทุบตีและเรียกใช้หลังจากบูตระบบขึ้น
#!/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
หมายเหตุ: โปรดอยู่ในผู้ใช้รูทเพื่อเรียกใช้สคริปต์ มันจะไม่เป็นอันตรายต่อระบบของคุณ :)