NFS 服务器安装

发布时间 2023-07-06 08:21:19作者: 雨夜清风
 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