Han*_*ndy 18 filesystems cache buffer synchronization block-device
有没有办法只同步一个分区而不是所有分区?
类似于“同步/dev/sdc1”。
Mic*_*jer 11
您可以使用同步选项重新挂载,然后使用异步重新挂载:
mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint
Run Code Online (Sandbox Code Playgroud)
使用重新挂载选项不会干扰使用重新挂载的文件系统的进程。
有一个标准函数可以同步一个文件的数据(和元数据):fsync. 没有标准或通用的 shell 命令来访问它,但您可以sync在IO::Handle以下位置使用 perl 的方法:
perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename
Run Code Online (Sandbox Code Playgroud)
没有标准或通用的函数或 shell 命令来同步一个分区。
在最近的 Linux 系统上,有syncfs系统调用(在内核 2.6.39 中引入,从glibc 2.14 开始公开)。我认为这个系统调用还没有在 coreutils 或 util-linux 中公开。
如果您指的sync是将内存中的数据刷新到磁盘的实用程序,那么答案是否定的。这是因为sync通常在关闭或重新启动过程中使用,建议将数据安全写入磁盘,并且操作的真正目标是内存,而不是磁盘,并从 RAM 中获取缓冲数据到安全的地方。磁盘正是数据存放的地方。
| 归档时间: |
|
| 查看次数: |
6351 次 |
| 最近记录: |