PHP和Shell實(shí)現(xiàn)檢查SAMBA與NFS Server是否存在
通常會(huì)通過(guò) /etc/fstab 來(lái)處理掛載的設(shè)置,然后再使用 mount -a 來(lái)重新確認(rèn)掛載,最好在排程的程序用到掛載目錄時(shí)也執(zhí)行一次 mount -a,掛載目錄在斷線(xiàn)后是不會(huì)自動(dòng)回復(fù)的,mount -a 的 Timeout 其實(shí)還蠻久的,尤其是 Server 不存在的時(shí)候,所以最好還是用對(duì)應(yīng)的 client 先確認(rèn) server 是否存在。
而檢查 NFS 的 client 可以用 showmount 來(lái)處理,在 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+mysqli批量查詢(xún)多張表數(shù)據(jù)的方法
這篇文章主要介紹了php+mysqli批量查詢(xún)多張表數(shù)據(jù)的方法,涉及multi_query、store_result及more_results等函數(shù)的使用技巧,需要的朋友可以參考下2015-01-01php安全開(kāi)發(fā) 添加隨機(jī)字符串驗(yàn)證,防止偽造跨站請(qǐng)求
偽造跨站請(qǐng)求比較難以防范,而且危害巨大,攻擊者可以通過(guò)這種方式惡作劇,發(fā)spam信息,刪除數(shù)據(jù)等等。那怎么防范偽造跨站攻擊呢2013-02-02支持?jǐn)?shù)組的ADDSLASHES的php函數(shù)
支持?jǐn)?shù)組的ADDSLASHES2010-02-02Linux環(huán)境下搭建php開(kāi)發(fā)環(huán)境的操作步驟
本篇文章是對(duì)Linux環(huán)境下搭建php開(kāi)發(fā)環(huán)境的操作步驟進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP實(shí)現(xiàn)負(fù)載均衡下的session共用功能
這篇文章主要介紹了PHP實(shí)現(xiàn)負(fù)載均衡下的session共用功能,結(jié)合實(shí)例形式分析了php基于memcache的session共享相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04php7 list()、session及其他模塊的修改實(shí)例分析
這篇文章主要介紹了php7 list()、session及其他模塊的修改,結(jié)合實(shí)例形式分析了php7 list()、session及其他模塊的修改相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2020-05-05