web-dev-qa-db-ja.com

sshfsでマウントされたドライブを可能な限り接続したままにするにはどうすればよいですか?

私はこれを永遠に機能させるために努力してきましたが、今は私の能力を超えています。私はこれについて可能な限りすべてを読みましたが、まだ問題を解決できません。これが短編小説です。ローカルサーバーにリモートドライブをマウントする必要があります。私はそれを問題なく動作させることができます。次のコマンドを実行します。

sshfs -o idmap=user [email protected]:/home/sfurules/files/folder_1 ~/folder_1
sshfs -o idmap=user [email protected]:/home/sfurules/files/folder_2 ~/folder_2
sshfs -o idmap=user [email protected]:/home/sfurules/files/folder_3 ~/folder_3

ビンゴ。魔法のように動作します。

ただし:

リモートドライブは、レンタルして共有しているサーバー上にあります。そのため、時々それがリセットされ、マウントがドロップします。または、ホームサーバーをリセットすると、マウントが削除されることがあります。または、私のインターネットが一瞬止まります(Comcastに感謝します)...または、なんらかの理由で接続が適切でない場合は、常に安定しています。それは問題ありません。これは情報を転送するための理想的な方法ではないことを理解できます。しかし、マウントが稼働している場合、それは私のニーズに対して完璧です。

それで...私のサーバーがそれらのsshfsマウントされたリモートディレクトリを可能な限り自動的に接続したままにすることを確実にするために私は何ができますか?私は現在、この醜いシステムを持っています。スマートフォンのタスカーとスニペット付きのsshアプリを使用して、設定された間隔で自動的に実行し、ホームサーバーにリモートで接続し、実行中の画面(画面-R)を開き、コマンドを実行してから切断します。

私はbashスクリプトを作成してそれをcrontabで実行してみましたが、理由がわからないので、動作しない(noobスクリプトトリガーアラート):

#!/bin/sh

screen -R

sshfs -o idmap=user [email protected]:/home/sfurules/files/folder_1 ~/folder_1;

sshfs -o idmap=user [email protected]:/home/sfurules/files/folder_2 ~/folder_2;

sshfs -o idmap=user [email protected]:/home/sfurules/files/folder_3 ~/folder_3;

screen -D

私はfstabに物事を追加しようとしましたが、正直なところ、私は物事を推測しているだけのように感じられ、私は本当に愚かすぎてその仕事をすることができません...

任意の助けいただければ幸いです。私は私のロープの終わりにいます。

3
sfurules

reconnectオプションをsshfsに指定してみてください(まだ行っていない場合)。

sshfs -o reconnect -o idmap=user ...

おもしろいことに、sshfsのmanページはこのオプションについてはあまり伝えられていませんが、あなたが望んでいることをしているようです。私自身、Mac、Linuxラップトップ、およびAndroid電話)にsshfsでマウントされたリモートドライブがあり、すべての接続が非常に堅牢に見えます--- (常にというわけではありませんが、ケースの90%以上を言います)接続の喪失、サスペンド/ハイバネートなどを乗り越えます。

お役に立てれば!

2
user420317