有没有办法只同步一个分区?


Answers:


10

您可以使用sync选项重新安装,然后使用async重新安装:

mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint

使用重新安装选项不会与使用重新安装的文件系统的进程混淆。


2
您为什么认为需要2次重新安装?在至少2.6.32内核do_remount_sb执行sync_filesystem其是被称为在引入syncfs系统调用相同功能lwn.net/Articles/433384
Yuriy Nazarov'3

5

有一个标准的功能,以一个文件的同步数据(和元数据): fsync。没有标准或通用的shell命令可以访问它,但是您可以syncIO::Handle以下代码中使用perl的方法:

perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename

没有标准或通用功能或Shell命令来仅同步一个分区。

最新的Linux系统上,有syncfs系统调用(在内核2.6.39中引入,自glibc 2.14开始公开)。我认为该系统调用尚未在coreutils或util-linux中公开。


1
关于最后一句话syncfs是最相关的部分。
poolie

3

使用sync选件安装分区可能是一种解决方案。


2

如果您是sync指将内存中的数据刷新到磁盘的实用程序,那么答案是否定的。这是由于sync通常在关机或重新启动过程中使用该事实,建议将数据安全地写入磁盘,并且操作的真正目标是内存而不是磁盘,并将缓冲的数据移出RAM。到安全的地方。磁盘就是数据结束的地方。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.