
私のスクリプトには複数のレイヤーの状態があります。
- リモートで使用可能(ping)
- リモートNFSサービスが有効になっています。
- リモートNFSがディレクトリをエクスポートしています。
- リモートNFSがマウントされました(マウント)。
rcpinfo
(2)と(3)の場合は最良の選択だと思います。ただし、(2)の場合、サブシェルを起動せず(このアプリケーションでは許可されていません)、クエリ範囲をNFSサービスに絞り込む方法はわかりません。 (3)の場合、この情報をリモートで取得できるかどうか(ssh
もちろんログインせずに)はわかりません。
私はRHEL 6を使用しており、標準のディストリビューションに含まれていないプログラムにアクセスできません。
答え1
showmount -e remote_nfs_server
3)の場合、 remote_nfs_server が何でもエクスポートされたかどうかを示すためにwhichを使用できます。
2)の場合、shubshellを使用したくなく、リモートサーバーがNFSv3またはNFSv4およびTCPまたはUDPを実行しているかどうかを知っている場合は、rpcinfoを使用して具体的に照会できます。
rpcinfo -u remote_nfs_server nfs 3
UDP経由のNFSv3の場合、
rpcinfo -t remote_nfs_server nfs 4
TCP経由のNFSv4の場合
4)あなたが見たいかもしれませんフォルダがマウントされたリモートファイルシステムであることを確認してください。
追加情報:
答え2
showmount -e <server>
#3のいくつかの側面でこれを使うことができます。エクスポートが簡単な場合は、少なくともディレクトリ(またはそのディレクトリの親ディレクトリ)をエクスポートすることをお勧めします。
# showmount -e server
/export (everyone)
#2の場合、あなたが探しているものがわからない。 NFSv3を使用している場合は、少なくともmountdとnfsを見つける必要があります(場合によってはロックマネージャを確認する必要があるかもしれません)。あなたが言ったように、rpcinfoを使用すると、何でも明示的に確認できます。
# rpcinfo -t server mountd 3
program 100005 version 3 ready and waiting