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