sshfs mount 的 Unison 同步 - 如果连接中断,会发生什么问题?

sshfs mount 的 Unison 同步 - 如果连接中断,会发生什么问题?

我正在使用 Unison 将本地目录(例如“/local”)与云存储服务器同步。云存储通过 sshfs(无缓存选项)安装到“/mnt”,然后我在本地将两个目录 /local 和 /mnt 与 Unison 同步。[我没有服务器的 root 访问权限,并且服务器上未安装 Unison,因此无法与 Unison 进行真正的远程同步。]

简而言之,我正在寻找一种安全的方法来将多台计算机的本地目录与服务器同步(包括正确处理已删除的文件)。

我认为,只要连接没有发生任何问题,本地目录之间的 Unison 同步原则上是安全的。但是,如果 Unison 工作时 sshfs 连接中断怎么办?不幸的是,我不太了解 sshfs 连接的工作原理,因此无法判断是否存在数据丢失风险。

假设当连接中断时,Unison 正在将修改后的文件写入 /mnt。它会因错误而退出吗(我认为这是安全的)?我担心的是,尽管连接已中断,它仍会继续写入 /mnt,然后在其存档中将文件标记为已成功传输,尽管该文件实际上尚未写入服务器。会发生这种情况吗?

读取过程怎么样?似乎当我在 Unison 读取 /mnt 时断开连接时,它总是会失败,并显示错误消息“/mnt 已完全清空(好!)”。但是,是否存在这样的情况:它可能会得到 /mnt 中只有部分数据丢失的信息,然后错误地认为这些文件已被删除?

编辑:再次阅读 Unison 手册后,我注意到了“mountpoint”参数。但是,手册中说,Unison 在检测到更新后仅检查一次挂载点是否存在。因此,如果在文件传输过程中连接中断,我仍然认为存在出现问题的风险。

EDIT2:本质上,我的问题与 fuse sourceforge 邮件列表中的这个看似未解答的问题相同:https://sourceforge.net/p/fuse/mailman/message/1605382/

相关内容