《PHP實例:PHP和Shell實現檢查SAMBA與NFS Server是否存在》要點:
本文介紹了PHP實例:PHP和Shell實現檢查SAMBA與NFS Server是否存在,希望對您有用。如果有疑問,可以聯系我們。
PHP學習通常會通過 /etc/fstab 來處理掛載的設置,然后再使用 mount -a 來重新確認掛載,最好在排程的法式用到掛載目錄時也執行一次 mount -a,掛載目錄在斷線后是不會自動回復的,mount -a 的 Timeout 其實還蠻久的,尤其是 Server 不存在的時候,所以最好還是用對應的 client 先確認 server 是否存在.
PHP學習而檢查 NFS 的 client 可以用 showmount 來處置,在 Ubuntu 上的安裝方式如下:
代碼如下:
sudo aptitude install nfs-common
而 SAMBA 的 client 則是用 smbclient,在 Ubuntu 上的安裝方式如下:
代碼如下:
sudo aptitude install smbclient
反省 NFS Server 是否存在的流程
以 Shell 的方式反省
代碼如下:
# 先以 client 確認 server 是否存在???
/sbin/showmount 192.168.0.6 >/dev/null 2>&1???
if [ "j$?" != "j0" ]; then?????
?? echo "NFS Server is not exist"???
?? exit 1???
fi???
???
# 重新確認掛載????
mount -a >/dev/null 2>&1???
if [ "j$?" != "j0" ]; then???
?? echo "NFS Server mount failed"???
?? exit 1;???
fi???
以 PHP 的方式反省
代碼如下:
/*先以 client 確認 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;???
}???
???
/*重新確認掛載*/????
if(shell_exec('mount -a 2>&1')){???
?? echo "NFS Server mount failed"???
?? exit;???
}???
PHP學習反省 SAMBA Server 是否存在的流程
PHP學習以 Shell 的方式反省
代碼如下:
# 先以 client 確認 server 是否存在???
smbclient -NL //192.168.0.6 >/dev/null 2>&1???
if [ "j$?" != "j0" ]; then?????
?? echo "SAMBA Server is not exist"???
?? exit 1???
fi???
???
# 重新確認掛載????
mount -a >/dev/null 2>&1???
if [ "j$?" != "j0" ]; then???
?? echo "SAMBA Server mount failed"???
?? exit 1;???
fi???
以 PHP 的方式反省
代碼如下:
/*先以 client 確認 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;???
}???
???
/*重新確認掛載*/????
if(shell_exec('mount -a 2>&1')){???
?? echo "SAMBA Server mount failed"???
?? exit;???
}??
維易PHP培訓學院每天發布《PHP實例:PHP和Shell實現檢查SAMBA與NFS Server是否存在》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/12812.html