程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP和Shell實現檢查SAMBA與NFS Server是否存在,sambanfs

PHP和Shell實現檢查SAMBA與NFS Server是否存在,sambanfs

編輯:關於PHP編程

PHP和Shell實現檢查SAMBA與NFS Server是否存在,sambanfs


通常會通過 /etc/fstab 來處理掛載的設置,然後再使用 mount -a 來重新確認掛載,最好在排程的程序用到掛載目錄時也執行一次 mount -a,掛載目錄在斷線後是不會自動回復的,mount -a 的 Timeout 其實還蠻久的,尤其是 Server 不存在的時候,所以最好還是用對應的 client 先確認 server 是否存在。

而檢查 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;   
}   

檢查 SAMBA Server 是否存在的流程

以 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;   
}  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved