PHP和Shell實現(xiàn)檢查SAMBA與NFS Server是否存在
通常會通過 /etc/fstab 來處理掛載的設(shè)置,然后再使用 mount -a 來重新確認(rèn)掛載,最好在排程的程序用到掛載目錄時也執(zhí)行一次 mount -a,掛載目錄在斷線后是不會自動回復(fù)的,mount -a 的 Timeout 其實還蠻久的,尤其是 Server 不存在的時候,所以最好還是用對應(yīng)的 client 先確認(rèn) server 是否存在。
而檢查 NFS 的 client 可以用 showmount 來處理,在 Ubuntu 上的安裝方式如下:
sudo aptitude install nfs-common
而 SAMBA 的 client 則是用 smbclient,在 Ubuntu 上的安裝方式如下:
sudo aptitude install smbclient
檢查 NFS Server 是否存在的流程
以 Shell 的方式檢查
# 先以 client 確認(rèn) server 是否存在
/sbin/showmount 192.168.0.6 >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "NFS Server is not exist"
exit 1
fi
# 重新確認(rèn)掛載
mount -a >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "NFS Server mount failed"
exit 1;
fi
以 PHP 的方式檢查
/*先以 client 確認(rèn) server 是否存在*/
$state = shell_exec('/sbin/showmount 192.168.0.6 >/dev/null 2>&1; echo $?');
if(trim($state)!='0'){
echo "NFS Server is not exist";
exit;
}
/*重新確認(rèn)掛載*/
if(shell_exec('mount -a 2>&1')){
echo "NFS Server mount failed"
exit;
}
檢查 SAMBA Server 是否存在的流程
以 Shell 的方式檢查
# 先以 client 確認(rèn) server 是否存在
smbclient -NL //192.168.0.6 >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "SAMBA Server is not exist"
exit 1
fi
# 重新確認(rèn)掛載
mount -a >/dev/null 2>&1
if [ "j$?" != "j0" ]; then
echo "SAMBA Server mount failed"
exit 1;
fi
以 PHP 的方式檢查
/*先以 client 確認(rèn) server 是否存在*/
$state = shell_exec('smbclient -NL //192.168.0.6 >/dev/null 2>&1; echo $?');
if(trim($state)!='0'){
echo "SAMBA Server is not exist";
exit;
}
/*重新確認(rèn)掛載*/
if(shell_exec('mount -a 2>&1')){
echo "SAMBA Server mount failed"
exit;
}
相關(guān)文章
php之static靜態(tài)屬性與靜態(tài)方法實例分析
這篇文章主要介紹了php之static靜態(tài)屬性與靜態(tài)方法,以實例形式較為詳細(xì)的分析了php靜態(tài)屬性與靜態(tài)方法的概念與相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
一個顯示某段時間內(nèi)每個月的方法 返回由這些月份組成的數(shù)組
一個顯示某段時間內(nèi)每個月的方法 返回由這些月份組成的數(shù)組,需要的朋友可以參考下2012-05-05
PHP使用mysql與mysqli連接Mysql數(shù)據(jù)庫用法示例
這篇文章主要介紹了PHP使用mysql與mysqli連接Mysql數(shù)據(jù)庫的方法,結(jié)合實例形式分析了mysql與mysqli操作數(shù)據(jù)庫的連接、查詢、斷開的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-07-07
解決出現(xiàn)SoapFault (looks like we got no XML document)的問題
下面小編就為大家?guī)硪黄鉀Q出現(xiàn)SoapFault (looks like we got no XML document)的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
PHP中使用jQuery+Ajax實現(xiàn)分頁查詢多功能操作(示例講解)
下面小編就為大家?guī)硪黄狿HP中使用jQuery+Ajax實現(xiàn)分頁查詢多功能操作(示例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
PHP防止sql注入小技巧之sql預(yù)處理原理與實現(xiàn)方法分析
這篇文章主要介紹了PHP防止sql注入小技巧之sql預(yù)處理原理與實現(xiàn)方法,結(jié)合實例形式分析了PHP防止sql注入的sql預(yù)處理操作詳細(xì)實現(xiàn)與使用方法,需要的朋友可以參考下2019-12-12
解析PHP中的內(nèi)存管理,PHP動態(tài)分配和釋放內(nèi)存
本篇文章是對PHP中的內(nèi)存管理,PHP動態(tài)分配和釋放內(nèi)存進行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

