我正在通过NFS开发备份系统,我想尽可能地确保文件真正写入磁盘。目前,在我的本地硬盘上进行备份时,我将所有内容复制到一个临时文件夹中,执行sync()以刷新缓存,将临时文件夹重命名为最终名称,然后执行另一个sync()。这样,如果系统在备份期间挂起,或者出现电源故障,则半成品备份将位于易于识别的文件夹中,并且可以在系统再次引导时再次删除并重新启动。
是否可以通过NFS执行此操作?执行“远程同步()”调用以确保服务器已将缓存刷新到磁盘?
感谢。
答案 0 :(得分:1)
当您通过NFS挂载驱动器时,可以通过添加“sync”作为其中一个选项来告诉它同步。我相信默认它会这样做。因此,无需担心执行同步呼叫,因为它已经发生在你身上。当服务器响应说数据已写入磁盘时,您可以确保它已存在。
如果你使用的是* nix系统(包括Mac),你可以使用rysnc,如果你有大量的数据,这是一个非常方便的备份工具。
答案 1 :(得分:0)
只需考虑
sudo mount /nfs-mount -o remount
不带任何其他选项的-o很好。
当我在/ nfs-mount上有一个文件时,这对我有所帮助,该文件在远程更新时不是本地更新。挂载选项同步无济于事,并且可能还会造成性能损失。