PHP和Shell实现检查SAMBA与NFS Server是否存在

通常会通过 /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;   
}

(0)

相关推荐

  • 在ubuntu中部署samba服务器的方法

    Samba服务在Ubuntu服务器版本中默认并没有安装.今天公司上了一批新电脑,准备把它装成服务器,于是为了方便开发的使用,我在上面部署了一个samba,用来实现window和linux的联系: 具体步骤,我详细的查看了百度,高手云集,以下就是总结了网友的经验,现在记下来,以后有用就不用到处找了. 一. samba的安装: sudo apt-get install samba sudo apt-get install smbfs 二. 创建共享目录: mkdir /home/phinecos/s

  • 默认Samba版本在RedHat 9上的溢出获取root演示

    从近日对被黑服务器的安全分析来看,我找到该用户提升权限的工具.他是利用了Samba的安全漏洞提升为了ROOT. 这几天服务器因为要放到公网测试,此时又安装了Samba服务器.结果第二天就发现了服务器被黑 Samba是在Redhat Linux 9上默认的版本.使用了该黑客的强大的exploit工具提升为了root. 提升为root,只需要短短的3秒钟 自己汗一个 从服务器的tmp查找到一个x2k3的目录 [bob@learnin9 tmp]$ cd x2k3/ [bob@learnin9 x2k

  • Samba NT Domain Controller

    Currently, Samba can go beyond merely emulating Windows shares to actually acting as the Primary Domain Controller for your Windows network. Of course, Samba can also become a NT domain member. In this article we shall look at both these options. The

  • RHE5服务器配置-搭建Samba服务器步骤(图)

    认识Samba   Samba的核心是两个守护进程,即smbd和nmbd.服务器启动到停止期间持续运行,smba监听139TCP端口:nmbd监听137和138UDP端口.smbd和nmbd使用的全部配置信息保存在smb.conf文件中,smb.conf向smbd和nmbd两个守护进程说明输出什么,共享输出给谁及如何输出以便共享.smbd进程的作用是处理到来的SMB数据包,为使用该数据包的资源与Linux协商:nmbd进程使其他主机(或工作站)能浏览Linux服务器. 一.安装配置Samba的R

  • samba共享目录权限问题

    首先当然是要安装samba了,呵呵: 代码: sudo apt-get install samba sudo apt-get install smbfs 下面我们来共享群组可读写文件夹,假设你要共享的文件夹为: /home/ray/share 首先创建这个文件夹 代码: mkdir /home/ray/share chmod 777 /home/ray/share 备份并编辑smb.conf允许网络用户访问 代码: sudo cp /etc/samba/smb.conf /etc/samba/s

  • Linux加入windows ad域步骤详解(winbindsamba方案)

    linux加入域中,一般都会想到加入LDAP中,这样管理起来方便,不过在linux下LDAP配置起来可不是很容易的,在企业办公环境中一般windows AD域占据霸主地位,配置方便嘛,针对生产环境的linux集群机器才会选择LDAP,不过有时候在办公环境中也混杂了linux机器,为了规范管理,也是需要把linux机器加入window是 AD中的. linux加入windows AD中方便操作的有两种方案(分为centos/ubuntu两种情况).都说了是方便操作,那必然是懒人的首选方法了. 1

  • PHP和Shell实现检查SAMBA与NFS Server是否存在

    通常会通过 /etc/fstab 来处理挂载的设置,然后再使用 mount -a 来重新确认挂载,最好在排程的程序用到挂载目录时也执行一次 mount -a,挂载目录在断线后是不会自动回复的,mount -a 的 Timeout 其实还蛮久的,尤其是 Server 不存在的时候,所以最好还是用对应的 client 先确认 server 是否存在. 而检查 NFS 的 client 可以用 showmount 来处理,在 Ubuntu 上的安装方式如下: 复制代码 代码如下: sudo aptit

  • shell脚本检查域名证书是否过期的流程分析

    最近公司的域名准备过期了,防止用户访问的时候出现异常,所以最近我们准备替换相关网站证书为最新的.(一般HTTPS证书有效期为1年,证书过期后或者该证书不是该域名的有效证书时,在浏览器中访问会出现如下提示,这时候如果还是要访问只能通过点击"高级",忽略风险继续访问) 我们这里有些域名是直接解析到自己的业务机器上的,并没有经过运维管理的nginx再来做转发,所以针对这部分域名,就需要的单独到业务机器上下载最新的域名证书,然后替换了一下证书,并重启一下nginx (nginx -s relo

  • Shell脚本检查IP格式及mysql操作实例

    还是cronjob的一部分,就是在Rails的定时任务里,后台交互运行 CheckIPAddress() { echo $1 |grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$" > /dev/null if [ $? = 1 ]; then return 1 else a=`echo $1 | awk -F. '{print $1}'` b=`echo $1 | awk -F. '{print $2}'

  • C++ NFS挂载及挂载命令

    挂载NFS 挂载命令 挂载NFS时,常用的命令比如: #将远程目录挂载到本地/home/share目录下 mount -t nfs -o nolock 192.168.1.10:/tmp /home/share 在Linux 下可以用mount函数进行挂载: bool Mount() { string remotePath = m_remoteIP + ":" + m_remotePath; string localPath = m_localPath; string params =

  • linux NFS安装配置及常见问题、/etc/exports配置文件、showmount命令

    1,服务器端软件:安装nfs-utils和portmap(rpcbind) nfs-utils: 提供rpc.nfsd 及 rpc.mountd这两个NFS DAEMONS的套件 portmap: NFS其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVER PROGRAM,都要做好PORT的对应工作,而且这样的任务就是由PORTMAP来完成的.通俗的说PortMap就是用来做PORT的mapping的. NFS需要启动的DAEMONS:参考NFS daemo

  • linux系统之间通过nfs网络文件系统挂载设置方法

    NFS简介 NFS是Network File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. NFS好处 以下是NFS最显而易见的好处: 1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到. 2.用户不必在每个网络上机器里头都有一个home目录.Home目录 可以被放在NFS服务

  • Linux NFS服务器的安装与配置方法(图文详解)

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法. NFS 的基本原则是"容许不同的客户端及服务端通过一组RPC分享相同的文件系统",它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享. NF

  • linux NFS 学习笔记

    NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. NFS基于 RPC协议,NFS本身只是起到共享的作用而和客户端进行连接和数据传输则是RPC协议的功能 NFS主要通过两个daemon 来进行控制: 1.rpc.nfsd  ------- 它用来控制客户端是否可以连接到,NFS serve

  • 在线扫描探测检查asp站点木马后门的程序

    复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% '设置登陆密码,使用前务必修改此密码 PASSWORD = "www.pifoo.com" '其他扫描设置 DimFileExt = "asp,cer,asa,cdx"  '文件类型扩展名列表,不在此列表的将不被扫描 maxfilesize= 51200 '500K,超过此文件大小的文件(一般不是木马)

随机推荐