Ubuntu SSHFS 无法同步

Ubuntu SSHFS 无法同步

我正在尝试设置一台用于 Web 开发的 Ubuntu 机器,并想开始使用 SSHFS 而不是烦人的 FTP 协议。我通过 apt-get 安装了 SSHFS。我在我的文档文件夹中创建了一个名为 的文件夹MyProject。我是该文件夹的所有者。

我使用以下方法将远程文件夹挂载到本地文件夹

sshfs [email protected]:ftp.myproject.com/myproject.com/public_html /home/anton/Documents/MyProject

然后输入我的密码。然后远程文件夹确实已安装。但是,我在本地计算机上所做的更改并未反映在服务器上。我在这里遗漏了什么?

Ubuntu 12.10

答案1

添加-o cache=no到命令

sshfs [email protected]:ftp.myproject.com/myproject.com/public_html /home/anton/Documents/MyProject -o cache=no

此处已回答了相同的问题:https://stackoverflow.com/questions/3671350/any-way-to-eliminate-time-lag-with-sshfs

答案2

我遇到了与@op相同的问题,但版本更复杂 - 我安装了远程设备的根文件夹,最重要的是需要使用远程操作系统文件系统

@Vikas 的回答对我有帮助,但不是完全有帮助。我尝试添加挂载选项: sshfs_sync,sync_readdir,sync_read但这些都不能解决我的问题:有时(相当频繁)来自同一路径的读取仍被缓存,因此我无法在远程端获取更改的状态。我猜这是因为在这种情况下(当内核驱动程序提供 sysfs 条目时)的 fs 无法提供有意义的更改/修改时间。而本地端的 fuse/sshfs 依赖于这些。

只有一个选择解决了我的问题 -direct_io。因此,如果使用远程 sysfs 并且同步是首要任务,我建议使用此选项。

sshfs <remote> <local> -o direct_io

相关内容