-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.sh
157 lines (119 loc) · 2.73 KB
/
main.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#!/bin/bash
#清除屏幕的代码,防止命令太多
clear
#设置版本相关信息
author=Teler
version=1.1
updateDate=2021-04-06
echo -e "\033[33m Author: $author Date: $updateDate Version: $version \033[0m"
echo "注意事项:"
echo "============================================================"
echo " 1.建议新建有sudo权限的新用户"
echo " 2.脚本仅在centos7.x完整测试,docker、用户在debian系可以正常使用,防火墙等未完成测试"
echo "============================================================"
# 公共参数
flag=12344
# 脚本的路径
workdir=$(cd $(dirname $0); pwd)
shPath=$workdir/shell
#主方法
readnum(){
while [ "$flag" -ne 111111 ]
do
#目前支持的命令
echo
echo -e "\033[35m 请查看需要执行的命令的对应数字 \033[0m"
echo -e "\033[34m 服务器 \033[0m"
echo -e "\033[33m 1.获取本机ip \033[0m"
echo -e "\033[34m 用户 \033[0m"
echo -e "\033[33m 2.用户管理 \033[0m"
echo -e "\033[34m 防火墙 \033[0m"
echo -e "\033[33m 3.防火墙管理 \033[0m"
echo -e "\033[34m Docker \033[0m"
echo -e "\033[33m 4.Docker相关 \033[0m"
echo -e "\033[34m 主机 \033[0m"
echo -e "\033[33m 5.主机管理 \033[0m"
echo -e "\033[34m Nginx \033[0m"
echo -e "\033[33m 6.Nginx管理 \033[0m"
echo -e "\033[34m 111111.退出 \033[0m"
echo -e ""
echo -e "\033[35m 请输入数字: \033[0m"
#读取用户输入
read num
#判断用户输入
case $num in
1)
getIp
;;
# 用户相关
2)
userManage
;;
# 防火墙相关
3)
firewalldManage
;;
#docker相关
4)
dockerManage
;;
# 主机管理
5)
computerManage
;;
# nginx管理
6)
nginxManage
;;
#退出
111111)
echo "感谢使用"
flag=111111
;;
*)
echo "请输入一个正确的数字"
esac
done
exit
}
#添加用户
userManage(){
source $shPath/user.sh
}
# 调用docker脚本
dockerManage(){
source $shPath/docker.sh
}
# 调用防火墙脚本
firewalldManage(){
source $shPath/firewalld.sh
}
# 调用主机管理
computerManage(){
source $shPath/computer.sh
}
# 调用nginx管理
nginxManage(){
source $shPath/nginx.sh
}
# 公共方法 开始====================================================
#检查文件是否存在 存在返回0 不存在返回1
function searchFile(){
if [ -f "$1" ]; then
return 0
else
echo -e "$1 不存在"
return 1
fi
}
#判断用户是否存在 存在返回0 不存在返回1
function checkUserExist(){
id $1
echo $?
if [ $? -ne 0 ];then
return 1;
fi
return 0;
}
# 公共方法 结束====================================================
readnum