1 #!/bin/bash 2 3 ################################################################################################################# 4 ## ## 5 ##功能:该脚本主要实现NFS自动安装和客户端自动挂载. ## 6 ##使用环境:centos6和NFS客户端的数量为2. ## 7 ##参数:NFS服务器端IP、第一个客户端IP、第二个客户端IP、第一个客户端密码、第二个客户端密码、NFS目录 ## 8 ##作者:陈浩 ## 9 ################################################################################################################# 10 11 #检查IP地址是否合法 12 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 13 source /etc/rc.d/init.d/functions 14 function check_ip() 15 { 16 IP=$1 17 if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then 18 FIELD1=$(echo $IP|cut -d. -f1) 19 FIELD2=$(echo $IP|cut -d. -f2) 20 FIELD3=$(echo $IP|cut -d. -f3) 21 FIELD4=$(echo $IP|cut -d. -f4) 22 if [ $FIELD1 -le 255 -a $FIELD2 -le 255 -a $FIELD3 -le 255 -a $FIELD4 -le 255 ]; then 23 echo "$IP 地址合格!" 24 else 25 echo "$IP 地址不合格!" 26 fi 27 else 28 echo "$IP 地址格式错误!" 29 fi 30 } 31 32 # mkdir nfs dir 33 mkdir nfs_dir() 34 { 35 mkdir -p $nfs_dir 36 } 37 38 # start nfs server 39 nfs_start() 40 { 41 service rpcbind restart 42 service nfs restart 43 } 44 45 46 #确定服务器和客户端是否正在安装NFS服务。如果没有安装服务,请先安装并启动它。 47 pd_nfs_install() 48 { 49 rpm -aq |grep nfs-utils >/dev/null 50 if [ $? -eq 0 ];then 51 echo "NFS服务已安装" 52 else 53 echo "############################ 正在安装NFS服务 ############################" 54 yum install nfs-utils -y >/dev/null 55 echo "############################ NFS服务正在启动 ############################" 56 nfs_start 57 fi 58 } 59 60 # NFS目录权限定义 61 qx="(rw,no_root_squash)" 62 63 #验证NFS服务器端IP是否合法 64 while true; do 65 read -p "请输入NFS服务器的IP地址: " NFS_SERVER_IP 66 check_ip $NFS_SERVER_IP 67 [ $? -eq 0 ] && break 68 done 69 70 # 验证NFS客户端IP是否合法 71 while true; do 72 read -p "请输入第一个NFS客户端的IP: " nfs_client1 73 check_ip $nfs_client1 74 [ $? -eq 0 ] && break 75 done 76 77 # 验证NFS客户端IP是否合法 78 while true; do 79 read -p "请输入第二个NFS客户端的IP: " nfs_client2 80 check_ip $nfs_client2 81 [ $? -eq 0 ] && break 82 done 83 84 read -p "请输入第一个NFS客户端的密码: " nfs_passwd_1 85 read -p "请输入第二个NFS客户端的密码:" nfs_passwd_2 86 read -p "请输入NFS目录:" nfs_dir