web-dev-qa-db-ja.com

UbuntuSSHFSが同期しない

Web開発用にUbuntuマシンをセットアップしようとしていますが、煩わしいFTPプロトコルの代わりにSSHFSを使い始めると思いました。 apt-getでSSHFSをインストールしました。ドキュメントフォルダにMyProjectというフォルダを作成しました。私はそのフォルダの所有者です。

を使用してリモートフォルダをローカルフォルダにマウントします

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

私のパスワードが続きます。次に、リモートフォルダが実際にマウントされます。ただし、ローカルコンピューターで行った変更は、サーバーに反映されません。ここで何が欠けていますか?

Ubuntu 12.10

10

追加 -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

6
Vikas Goel

@opと同じ問題がありましたが、より複雑なバージョンで-リモートデバイスのルートフォルダーをマウントし、最も重要なことに、リモートで操作する必要がありますsysfs

@Vikasからの回答は私を助けましたが、完全ではありませんでした。マウントオプションを追加しようとしました:sshfs_sync、sync_readdir、sync_readしかし、それでも問題は解決しませんでした:同じパスからの読み取りがまだキャッシュされていることがあり、変更された状態を取得できませんでしたリモート側。これは、この場合(sysfsエントリがカーネルドライバーによって提供される場合)のfsが意味のある変更/変更時間を提供できないためだと思います。そして、ローカル側のFuse/sshfsはこれらに依存しています。

唯一のオプションが私の問題を解決しました-direct_io。したがって、リモートsysfsが使用され、同期が最優先される場合は、代わりにこのオプションをお勧めします。

sshfs <remote> <local> -o direct_io
0
pmod