云计算 SRE 运维 —— 第二周
完成一个shell脚本,脚本的作用:
- 运行脚本可以显示出本机的ip地址
- 如果ip地址中有3这个数字,那么就打印出当前的系统时间
- 如果ip地址中不含3这个数字,就批量建立用户magedu_00, magedu_01, ... magedu_100并且所有用户同属于magedu组
- 打印出/etc/passwd这个文件中可以登陆的用户(非/usr/sbin/nologin)
- yum安装nginx服务,并且启动该服务
[root@linux ~]# cat task.sh
#!/bin/bash
# **********************************************************
#
# * Author : 薯条爱吃彤彤
# * Email : chenunified@163.com
# * Create time : 2022-08-07 16:01
# * Filename : task.sh
# * Description :
#
# **********************************************************
# 定义颜色
COLOUR_START="\033[34m"
COLOUR_END="\033[0m"
# 查看本机IP
function NET_IP {
NET_IP=`ip address show eth0 | sed -n 3p | awk '{print $2;}' | cut -d '/' -f1`
echo -e "${COLOUR_START}本机IP: \n$NET_IP\n${COLOUR_END}"
}
# 判断本机IP,若本地IP包含"3"则打印当前时间,否则创建magedu_1,...,magedu_10用户
function USER_ADD {
if [[ $NET_IP == *3* ]]; then
echo -e "${COLOUR_START}当前时间: `date +%F" "%T`\n${COLOUR_END}"
else
groupadd magedu &> /dev/null
echo -e "${COLOUR_START}用户创建列表: ${COLOUR_END}"
for name in magedu_{1..10}; do
useradd -g magedu $name &> /dev/null
echo -e "${COLOUR_START}$name${COLOUR_END}"
done
fi
echo ""
}
# 查看可登录账号
function LOGIN_USER {
echo -e "${COLOUR_START}可登录用户: ${COLOUR_END}"
echo -e "${COLOUR_START}`cat /etc/passwd | grep -Ev "/sbin/nologin$" | cut -d ':' -f1`\n${COLOUR_END}"
}
# Rocky或者CentOS系统安装Nginx服务
function INSTALL_NGINX {
echo -e "${COLOUR_START}Nginx安装: ${COLOUR_END}"
rpm -qa | grep nginx &> /dev/null
if [ $? -eq 0 ]; then
echo -e "${COLOUR_START}Nginx 已安装${COLOUR_END}"
else
yum install -y nginx &> /dev/null
if [ $? -eq 0 ]; then
service nginx start &> /dev/null
echo -e "${COLOUR_START}Nginx 安装成功,服务已启动${COLOUR_END}"
else
echo -e "${COLOUR_START}Nginx 安装失败,请检查网络配置或apt源${COLOUR_END}"
fi
fi
}
# Ubuntu系统安装Nginx服务
function Ubuntu_NGINX {
echo -e "${COLOUR_START}Nginx安装: ${COLOUR_END}"
dpkg -s nginx &> /dev/null
if [ $? -eq 0 ]; then
echo -e "${COLOUR_START}Nginx 已安装${COLOUR_END}"
else
apt update &> /dev/null
apt install -y nginx &> /dev/null
if [ $? -eq 0 ]; then
service nginx start &> /dev/null
echo -e "${COLOUR_START}Nginx 安装成功,服务已启动${COLOUR_END}"
else
echo -e "${COLOUR_START}Nginx 安装失败,请检查网络配置或YUM源${COLOUR_END}"
fi
fi
}
function CentOS_Rocky {
NET_IP
USER_ADD
LOGIN_USER
INSTALL_NGINX
}
function Ubuntu {
NET_IP
USER_ADD
LOGIN_USER
Ubuntu_NGINX
}
PS3="请选择你的Linux版本: "
select MENU in "Rocky & CentOS" "Ubuntu" "退出"; do
case $REPLY in
1)
CentOS_Rocky
break
;;
2)
Ubuntu
break
;;
3)
echo -e "${COLOUR_START}程序退出${COLOUR_END}"
break
;;
*)
echo -e "${COLOUR_START}输入有误,请重新输入${COLOUR_END}"
;;
esac
done

浙公网安备 33010602011771号