我正在写一个备份脚本,其中如何从命令行刷新硬盘和闪存盘(或文件系统)的缓存?
- 将数据复制到备份磁盘。
- 刷新备份盘。
- 执行哈希完整性检查。
之前我曾经做过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