NFS上的“sync”命令

时间:2014-01-28 17:51:12

标签: sync nfs diskcache

我正在通过NFS开发备份系统,我想尽可能地确保文件真正写入磁盘。目前,在我的本地硬盘上进行备份时,我将所有内容复制到一个临时文件夹中,执行sync()以刷新缓存,将临时文件夹重命名为最终名称,然后执行另一个sync()。这样,如果系统在备份期间挂起,或者出现电源故障,则半成品备份将位于易于识别的文件夹中,并且可以在系统再次引导时再次删除并重新启动。

是否可以通过NFS执行此操作?执行“远程同步()”调用以确保服务器已将缓存刷新到磁盘?

感谢。

2 个答案:

答案 0 :(得分:1)

当您通过NFS挂载驱动器时,可以通过添加“sync”作为其中一个选项来告诉它同步。我相信默认它会这样做。因此,无需担心执行同步呼叫,因为它已经发生在你身上。当服务器响应说数据已写入磁盘时,您可以确保它已存在。

如果你使用的是* nix系统(包括Mac),你可以使用rysnc,如果你有大量的数据,这是一个非常方便的备份工具。

答案 1 :(得分:0)

只需考虑

sudo mount /nfs-mount -o remount

不带任何其他选项的-o很好。

当我在/ nfs-mount上有一个文件时,这对我有所帮助,该文件在远程更新时不是本地更新。挂载选项同步无济于事,并且可能还会造成性能损失。