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