PHP和Shell实现检查SAMBA与NFS Server是否存在
通常会通过/etc/fstab来处理挂载的设置,然后再使用mount-a来重新确认挂载,最好在排程的程序用到挂载目录时也执行一次mount-a,挂载目录在断线后是不会自动回复的,mount-a的Timeout其实还蛮久的,尤其是Server不存在的时候,所以最好还是用对应的client先确认server是否存在。
而检查NFS的client可以用showmount来处理,在Ubuntu上的安装方式如下:
sudoaptitudeinstallnfs-common
而SAMBA的client则是用smbclient,在Ubuntu上的安装方式如下:
sudoaptitudeinstallsmbclient
检查NFSServer是否存在的流程
以Shell的方式检查
#先以client确认server是否存在 /sbin/showmount192.168.0.6>/dev/null2>&1 if["j$?"!="j0"];then echo"NFSServerisnotexist" exit1 fi #重新确认挂载 mount-a>/dev/null2>&1 if["j$?"!="j0"];then echo"NFSServermountfailed" exit1; fi
以PHP的方式检查
/*先以client确认server是否存在*/
$state=shell_exec('/sbin/showmount192.168.0.6>/dev/null2>&1;echo$?');
if(trim($state)!='0'){
echo"NFSServerisnotexist";
exit;
}
/*重新确认挂载*/
if(shell_exec('mount-a2>&1')){
echo"NFSServermountfailed"
exit;
}
检查SAMBAServer是否存在的流程
以Shell的方式检查
#先以client确认server是否存在 smbclient-NL//192.168.0.6>/dev/null2>&1 if["j$?"!="j0"];then echo"SAMBAServerisnotexist" exit1 fi #重新确认挂载 mount-a>/dev/null2>&1 if["j$?"!="j0"];then echo"SAMBAServermountfailed" exit1; fi
以PHP的方式检查
/*先以client确认server是否存在*/
$state=shell_exec('smbclient-NL//192.168.0.6>/dev/null2>&1;echo$?');
if(trim($state)!='0'){
echo"SAMBAServerisnotexist";
exit;
}
/*重新确认挂载*/
if(shell_exec('mount-a2>&1')){
echo"SAMBAServermountfailed"
exit;
}
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练