ホームページ >バックエンド開発 >PHPチュートリアル >PHP とシェルは、SAMBA と NFS サーバーが存在するかどうかのチェックを実装します。sambanfs_PHP チュートリアル

PHP とシェルは、SAMBA と NFS サーバーが存在するかどうかのチェックを実装します。sambanfs_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:09:56973ブラウズ

PHP とシェルの実装は、SAMBA と NFS サーバーが存在するかどうかを確認します、sambanfs

通常、マウント設定は /etc/fstab を通じて処理され、マウントを再確認するために mount -a が使用されます。スケジュールされたプログラムがマウント ディレクトリを使用してディレクトリをマウントする場合は、mount -a を 1 回実行するのが最善です。切断後に自動的に応答します。mount -a のタイムアウトは、特にサーバーが存在しない場合には非常に長いため、対応するクライアントを使用してサーバーが存在するかどうかを確認することをお勧めします。

NFS クライアントの確認は showmount で行うことができます。 Ubuntu でのインストール方法は次のとおりです。


コードをコピーします コードは次のとおりです:
sudo aptitude インストール nfs-common


SAMBAのクライアントはsmbclientを使用します。 Ubuntuでのインストール方法は以下の通りです。


コードをコピーします
コードは次のとおりです: sudo aptitude smbclient をインストールします


NFSサーバーが存在するかどうかを確認するプロセス

シェルで確認する

コードをコピーします
コードは次のとおりです: # まずクライアントを使用してサーバーが存在するかどうかを確認します
/sbin/showmount 192.168.0.6 >/dev/null 2>&1
if [ "j$?" != "j0" ]; エコー「NFSサーバーが存在しません」
1番出口
はい

#取り付けを再確認
マウント -a >/dev/null 2>&1
if [ "j$?" != "j0" ]; echo "NFS サーバーのマウントに失敗しました"
1番出口
はい


PHP をチェックインする


コードをコピーします

コードは次のとおりです:
/*最初にクライアントを使用してサーバーが存在するかどうかを確認します*/ $state = shell_exec('/sbin/showmount 192.168.0.6 >/dev/null 2>&1; echo $?'); if(trim($state)!='0'){ echo "NFS サーバーが存在しません"
出る
}

/*マウントを再確認*/
if(shell_exec('mount -a 2>&1')){
echo "NFS サーバーのマウントに失敗しました"
出る
}




SAMBAサーバーが存在するかどうかを確認するプロセス

シェルで確認する

コードをコピーします

コードは次のとおりです:

# まずクライアントを使用してサーバーが存在するかどうかを確認します smbclient -NL //192.168.0.6 >/dev/null 2>&1 if [ "j$?" != "j0" ]; echo "SAMBA サーバーが存在しません" 1番出口
はい

#取り付けを再確認
マウント -a >/dev/null 2>&1
if [ "j$?" != "j0" ]; echo "SAMBA サーバーのマウントに失敗しました"
1番出口
はい


PHP をチェックインする



コードをコピーします

コードは次のとおりです:


/*最初にクライアントを使用してサーバーが存在するかどうかを確認します*/
$state = shell_exec('smbclient -NL //192.168.0.6 >/dev/null 2>&1; echo $?'); if(trim($state)!='0'){ echo "SAMBA サーバーが存在しません" 出る }
/*マウントを再確認*/
if(shell_exec('mount -a 2>&1')){
echo "SAMBA サーバーのマウントに失敗しました"
出る
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/939419.html技術記事 PHP とシェルは、SAMBA と NFS サーバーが存在するかどうかのチェックを実装します。通常、sambanfs は /etc/fstab を介してマウント設定を処理し、マウント -a を使用してマウントを再確認するようにスケジュールするのが最善です...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。