มีวิธีการซิงค์เพียงพาร์ติชันเดียวแทนพาร์ติชันทั้งหมดหรือไม่
บางอย่างเช่น "sync / dev / sdc1"
มีวิธีการซิงค์เพียงพาร์ติชันเดียวแทนพาร์ติชันทั้งหมดหรือไม่
บางอย่างเช่น "sync / dev / sdc1"
คำตอบ:
คุณสามารถเมานต์ใหม่พร้อมตัวเลือกการซิงค์จากนั้นจึงเมาสต์ใหม่ด้วย async:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
การใช้ตัวเลือกการนับใหม่จะไม่ยุ่งกับกระบวนการที่ใช้ระบบไฟล์ที่ติดตั้งใหม่
มีฟังก์ชั่นมาตรฐานเพื่อให้ข้อมูลตรงกัน (และเมตาดาต้า) fsync
ของหนึ่งไฟล์: ไม่มีคำสั่งเชลล์มาตรฐานหรือคำสั่งทั่วไปในการเข้าถึง แต่คุณสามารถใช้sync
วิธีของ perl ในIO::Handle
:
perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename
ไม่มีฟังก์ชั่นมาตรฐานหรือทั่วไปหรือคำสั่งเชลล์เพื่อซิงโครไนซ์เพียงพาร์ติชันเดียว
บนระบบลีนุกซ์ล่าสุด , มีการsyncfs
เรียกระบบ (แนะนำในเคอร์เนล 2.6.39, และเปิดเผยตั้งแต่glibc 2.14 ) ฉันไม่คิดว่าการเรียกของระบบนี้ถูกเปิดเผยใน coreutils หรือ util-linux เลย
syncfs
เป็นส่วนที่เกี่ยวข้องมากที่สุด
การติดตั้งพาร์ติชันด้วยsync
ตัวเลือกอาจเป็นวิธีแก้ปัญหา
หากคุณหมายถึงsync
ยูทิลิตี้ที่ล้างข้อมูลในหน่วยความจำไปยังดิสก์คำตอบคือไม่ นี่เป็นเพราะความจริงที่sync
ใช้โดยทั่วไปในระหว่างกระบวนการปิดหรือรีบูตซึ่งแนะนำให้รับข้อมูลที่เขียนลงดิสก์อย่างปลอดภัยและเป้าหมายที่แท้จริงของการดำเนินการคือหน่วยความจำไม่ใช่ดิสก์และนำข้อมูลบัฟเฟอร์ออกจาก RAM เพื่อความปลอดภัย ดิสก์เป็นเพียงที่ข้อมูลสิ้นสุด
หาก btrfs:
btrfs filesystem sync /path/under/mountpoint