RHCE第五次作业

发布于:2024-11-27 ⋅ 阅读:(86) ⋅ 点赞:(0)

需求

1.接收用户部署的服务名称------先通过read指令接收用户输入的字符串,读取用户需要测试的服务名称

2.判断服务是否安装-------通过command -v或rpm -q 指令查看服务是否已安装

  • 已安装;自定义网站配置路径为/www;并创建共享目录和网页文件(cat <<EOF >> /xxx/xxx);重启服务 

  • 没有安装;安装对应的软件包

3.测试

 判断服务是否成功运行;($? 返回值为0则成功 1-255则失败)

        已运行,访问网站(curl)

        未运行,提示服务未启动,并显示自定义的配置文件内容(cat)

4.以上配置没有问题,请邮件告知我,并将脚本代码(代码文件)邮件发送我

我的邮箱账号:XXXXXXXXXXXXXXX@163.com(s-nail)

定义nginx部署函数

function nginx_bushu () {
        systemctl stop firewalld.service
        setenforce 0
        cat << EOF > /etc/nginx/conf.d/test.conf
server {
        listen 80;
        root /www;
}
EOF
        echo this is test > /www/index.html
        systemctl restart nginx
        if [ $? -eq 0 ];then
                curl http://`hostname -I`
        else
                echo “服务启动失败”
                cat /etc/nginx/conf.d/test.conf
        fi
}

部署s-nail部署文件

function s-nail_bushu() {
        if `rpm -q s-nail &> /dev/null`;then
                echo "作业脚本在附件" | mail -s "XXXnginx脚本作业" -a "$0" xxx.com
        else
                mount /dev/sr0 /mnt &> /dev/null
                dnf install s-nail -y &> /dev/null
                if [ $? -eq 0 ];then
                        echo "s-nail 服务启动成功,已自动发送脚本文件"
                else
                        echo s-nail 安装失败
                fi
        fi
}

脚本主体

echo 欢迎您使用自动化部署服务
read -p "请输入需要的服务名称:" fuwuname
if `command -v $fuwuname &> /dev/null`;then
                nginx_bushu
                echo "调用成功"
                s-nail_bushu
else
                mount /dev/sr0 /mnt &> /dev/null
                dnf install nginx -y &> /dev/null
        if [ $? -eq 0 ];then
                nginx_bushu
        else
                echo nginx 安装失败
        fi
fi


网站公告

今日签到

点亮在社区的每一天
去签到