2009-08-20 5 views
0

Rubyコードを使用してネットワーク上のNFS共有がオンライン/利用可能/稼働中であることを確認するにはどうすればよいですか?Rubyを使ってNFSエクスポートの可用性をチェックする方法は?

私は、現時点では、このようなコードを持っている:

while !Ping.pingecho('192.168.1.116') 
end 
`mount -a` 
exec 'SOMETHING THAT IS PLACED ON NFS SHARE' 

、リモートマシンは常に準備ができてNFSサービスを持っていない株式をエクスポートするので、それはそれとすぐに、非常に正常に動作しません。ネットワーク上でオンラインになります。あれは; pingに応答しますが、 NFSサービスが開始されない限り、マウントできません。

答えて

1

コマンドを実行します

rpcinfo -u 192.168.1.116 nfs 3 

とリターン・ステータスを確認します。これにより、基本的にRPC pingである192.168.1.116にNFSプロシージャー0が呼び出されます。このコマンドは明らかに静かなモードがないので、stdoutとstderrをどこかにリダイレクトするべきです。

+0

私はこれを言うのが嫌いです。 rpcinfoコマンドは、私が作業しているプラ​​ットフォームではサポートされていません... –

+0

ポートマッパーをバイパスすると(NFSは固定ポートを使用するため)、このrpcinfo呼び出しを純粋なルビで書くのは難しくありません。これは単なる固定のUDPパケットで、スニッフィングやハードコーディングが可能で、何らかの応答があった場合は、少し返信してください。 NFSサーバーがTCPをサポートしていると仮定すると、TCP接続を作成するだけで十分です。 –

関連する問題