リモートサーバーで実行されている単純なRailsアプリから、ラップトップでのシンボリックリンクの作成を自動化したいと思います。ラップトップでどこからでもカーネルタスクを実行できる必要があります。これも可能ですか?
4 に答える
2
リモートからスクリプトを取得して実行します
サーバーは、ラップトップで実行することを目的としたシェルまたはRubyスクリプトを作成できます。これで、ラップトップはこのスクリプトを定期的にチェックして実行する必要があります。これの利点は次のとおりです。
- これは、ラップトップだけでなく、スクリプトをチェックする他のマシンでも機能します。
- http以外のトランスポートは必要ありません
- サーバーは事前にクライアントを知る必要はありません
- これは、クライアント側で変更せずにシンボリックリンクを作成する以外のタスクで機能します。
クライアント側は次のように単純である可能性があります。
wget -O - "url" | ruby -
また
wget -O - "url" | sh -
サーバー上のシンボリックリンクのリストを生成します
サーバーは、必要なシンボリックリンクのリストを作成できます。クライアントマシンでは、このリストを定期的に解析してシンボリックリンクを作成するプログラムが必要になります。利点は次のとおりです。
- サーバーを信頼する必要はありません
rm -rf /
あなたのサーバーは偶然にできません- http以外のトランスポートは必要ありません
- これは、ラップトップだけでなく、リストをチェックする他のマシンでも機能します。
クライアント側は次のように単純である可能性があります
wget -O - "url" | ruby -r yaml -e "YAML.load(STDIN).each { |a, b| \`ln -s \"#{a}\" \"#{b}\" \` }"
于 2009-11-06T09:21:09.320 に答える
1
Fuseを使用してファイルシステムをマウントすることでそれを行うことができます。私の意見では、それは非常に小さなことです。
編集:Rubyバインディングと融合するFuseFsを指すようにリンクを変更しました。これは、Rubyを使用している場合に必要になるものです。
于 2009-11-06T08:31:19.253 に答える
1
ルビーベースの人形が使えます。
于 2009-11-06T12:20:19.933 に答える
0
ラップトップのみで他のクライアントがない場合は、サーバーをラップトップにSSH接続して、必要な処理を実行できます。一般に、いいえ、HTTPサーバーがクライアントマシン上で何かを行うことはできません。
于 2009-11-06T08:30:05.713 に答える