Score:1

ระบบไฟล์ Ubuntu เสียหายหลังจากรีบูต (cron)

ธง us

ระบบปฏิบัติการ: Ubuntu 20.04.3 LTS

โดยพื้นฐานแล้วฉันตั้งค่า root cron ให้รีบูตทุกสัปดาห์ ตอนแรกนี่คือบรรทัดที่ฉันใช้:

0 1 * * 0 /sbin/shutdown -r ทันที

เมื่อหลายสัปดาห์ผ่านไปฉันเริ่มสังเกตเห็นปัญหาเล็กน้อยแต่น่ารำคาญหลังจากการรีบูตทุกครั้ง ดังนั้นฉันจึงตัดสินใจเปลี่ยนมันเมื่อประมาณสองสัปดาห์ก่อน ฉันทำให้มันรันสคริปต์ด้วย just รีบูต ในนั้น.

0 1 * * 0 /home/user/reboot.bash

ฉันสังเกตเห็นปัญหาน้อยลงตามสองสัปดาห์ที่ผ่านมา แต่มีข้อผิดพลาดนี้ครั้งหนึ่งที่เคยเกิดขึ้นกับ crontab เก่าและเพิ่งเกิดขึ้นในวันนี้อีกครั้งแม้จะมี crontab ใหม่ - ระบบไฟล์เป็นแบบอ่านอย่างเดียว.

แน่นอนอย่างรวดเร็ว ฟค แก้ไขได้ไม่มีปัญหา แต่ฉันไม่รู้ว่าทำไมมันถึงทำให้ระบบไฟล์เสียหายเมื่อฉันรีบูตโดยใช้ cron เมื่อฉันรีบูตโดยใช้ GUI หรือโดย รีบูต ด้วยตนเองมันใช้งานได้ดี

โปรดทราบว่าสิ่งนี้ไม่ได้เกิดขึ้นเสมอไป ทุกอย่างเรียบร้อยดีเมื่อสัปดาห์ที่แล้ว บางครั้งปัญหาก็แตกต่างออกไป ครั้งหนึ่งไดรเวอร์บางตัวของฉันหยุดทำงาน

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

Liso avatar
sd flag
สำหรับการบันทึกระบบ `dmesg` ควรเป็นจุดเริ่มต้น
Score:3
ธง it

การตั้งเวลา "รีบูตทุกสัปดาห์" เป็นวิธีปฏิบัติแบบเก่าที่ไม่จำเป็นอีกต่อไป Linux ไม่ใช่ Windows การรีบูตแบบสุ่มสี่สุ่มห้าโดยไม่ซิงโครไนซ์ระบบไฟล์กับฮาร์ดแวร์ทำให้ระบบไฟล์เสียหายและข้อมูลสูญหาย ความเสียหายส่วนใหญ่สามารถแก้ไขได้โดยอัตโนมัติในขณะบูต แต่ไม่ใช่ทั้งหมด ข้อมูลที่สูญหายจะสูญหายไปอย่างไม่สามารถแก้ไขได้ อย่าทำการรีบูตอัตโนมัติ

ให้ระบุว่าอะไรทำให้คุณ "ต้องการ" รีบูต วินิจฉัยปัญหาและแก้ไข

เครื่องมือหนึ่งที่เป็นประโยชน์คือ วารสาร ctlโปรแกรมดูบันทึกระบบ อ่าน ผู้ชายวารสารctl. ทำ sudo Journalctl --list-boots เพื่อดูดัชนีและเวลา (ใช้เวลาสักครู่เนื่องจากจำเป็นต้องอ่านบันทึกทั้งหมดที่เคยบันทึกไว้) ดัชนี 0 คือตั้งแต่บูตปัจจุบันจนถึงเวลาปัจจุบัน -1 สำหรับการบู๊ตครั้งก่อน ฯลฯ

คำแนะนำในการบันทึก:

# ทำสิ่งนี้ครั้งเดียว (หรือตลอดไปต้อง `sudo journalctl`)
sudo adduser $USER systemd-journal 
# จากนั้นออกจากระบบ / เข้าสู่ระบบหรือ 'newgrp systemd-journal'

# เพิ่มใน ~/.bash_aliases หรือ ~/.bashrc 
# tsjou "18-11-01 01:55:28" สำหรับ journalctl --since 
alias tsjou="วันที่ '+%y-%m-%d %H:%M:%S'" 
# ใช้ตัวเลือก "วันที่" อื่นๆ เช่น `tsjou --date=เมื่อวาน`
# ทำให้ "journalctl" พิมพ์ง่ายขึ้น
นามแฝง jc=journalctl 

# บันทึกเริ่มต้นสำหรับ journalctl (เป๊กในโฟลว์บันทึก)l
นามแฝง jstart="my_JSTART_TIME=\"\$(tsjou)\"" 
# แสดงบันทึกทั้งหมดตั้งแต่ `jstart`
นามแฝง jend="journalctl --since=\"\$my_JSTART_TIME\""

#เกิดอะไรขึ้นในช่วง 5 หรือ 10 นาทีที่ผ่านมา?
นามแฝง jc5="journalctl --since=\"-5 นาที\"" 
นามแฝง jc10="journalctl --since=\"-10 นาที\"" 
# สิ่งที่ NetworkManager บันทึกตั้งแต่บูต?
นามแฝง jcnet="journalctl -b 0 _SYSTEMD_UNIT=NetworkManager.service"
TurboSlayer avatar
us flag
ขอบคุณสำหรับคำแนะนำ. ฉันจะกำจัดการรีบูตอัตโนมัติอย่างแน่นอน ฉันจะใช้ตัวอย่างโค้ดของคุณเพื่อตรวจสอบบันทึกเมื่อจำเป็นด้วย เพิ่งหมดความสนใจ: ฉันยังไม่เข้าใจว่าการรีบูตอัตโนมัติแตกต่างจากการรีบูตด้วยตนเองอย่างไร เป็นไปได้ไหมที่จะรีบูตระบบของฉันโดยอัตโนมัติราวกับว่าเป็นการรีบูตด้วยตนเอง
waltinator avatar
it flag
หากคุณมีคำถามที่สอง ถามมัน สร้างคำถามใหม่ อย่าฝังคำถามใหม่ของคุณไว้ในความคิดเห็นยาวๆ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา