我正在寫一個備份腳本,其中如何從命令行刷新硬盤和閃存盤(或文件系統)的緩存?
- 將數據複製到備份磁盤。
- 刷新備份盤。
- 執行哈希完整性檢查。
之前我曾經做過sleep(60)
等待一分鐘,以便數據被內核自動刷新。我猜這是過度殺傷,所以現在我試着sudo hdparm -F --verbose /dev/disk
,但它報告錯誤 - HDIO_DRIVE_CMD(flushcache) failed: Invalid exchange
多次。
我想知道是否有任何標準的方式來刷新緩存到硬盤。我認爲這是因爲usb-creator-gtk
做到了,umount
做到了。
我使用Ubuntu 9.10的x64
PS:我試圖避免「同步」,因爲這個頁面說,這是不安全。 http://ubuntuforums.org/showthread.php?t=589975
要清楚的是,他認爲這是'echo 3>/proc/sys/vm/drop_caches'命令並不安全。反正他錯了。 – Gabe 2010-03-05 03:01:09