当前位置: 首页 > article >正文

通过shell脚本分析部署nginx网络服务

作业:

1.接收用户部署的服务名称

2.判断服务是否安装

​    已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务    

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

3.测试

 判断服务是否成功运行;

​        已运行,访问网站

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

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

我的邮箱账号:lxx1065372838@163.com

知识点:

运算符说明 布尔符举例
&&逻辑的 AND -a[[ $a -lt 100 && $b -gt 100 ]] 返回 false
||逻辑的 OR -o[[ $a -lt 100 || $b -gt 100 ]] 返回 true
非 !not,非,两端相反,则结果为真

单分支

if条件;then

       语句

fi

--------------------------

if 条件;then

        语句

fi

双分支

if 条件;then

         成立语句

else

         不成立语句

fi

多分支结构

if 条件1;then

         成立语句

elif 条件2;then

         成立语句

elif...

          ...

else

fi

case 情景分析语句(条件判断)

case 变量名 in

             值1)

                     成立语句

              ;;

              值2)

                      成立语句

              ;;

              ...

               *)

                      成立语句

               ;;

case

测试

  • 接收用户部署的服务名称

read -p "请输入要判断的程序名称:" service_name
count=`ps -aux | grep -cw $service_name`

  • 判断服务是否安装

if [ command -v $service_name &>/dev/null ];
then
    echo "$service_name 已安装"
    config_path="/www"
    shared_dir="/www/shared"
    index_file="$shared_dir/index.html"
    echo "设置自定义网站配置路径为$config_path"
    mkdir -p $shared_dir
    echo "欢迎访问$service_name服务" > $index_file
    echo "$service_name主页文件已创建:$index_file"
if [[ "$service_name" == "nginx" ]];
then
        nginx_config="/etc/nginx/conf.d/default.conf"
        echo "server {
        listen 80;
        server_name localhost;
        root$shared_dir;
        index index.html;
        }">$nginx_config
        echo "Nginx配置已更新:$nginx_config"
fi
    systemctl restart $service_name
    echo "重启服务"
else
    echo "$service_name未安装,请开始安装"
    dnf install $service_name -y
    echo "安装完成"
fi

  •  判断服务是否成功运行

#!/bin/bash
read -p "请输入要判断的程序名称:" service_name
count=`ps -aux | grep -cw $service_name`

if [ $count -gt 1 ] ;then
        echo 服务已经运行
else
        echo 服务还未运行
fi

  • 邮件发送

if [[ $? -eq 0 ]]; then
    echo "脚本执行成功,配置无问题。"
    echo "发送脚本文件到指定邮箱..."
    mail -s "Nginx 部署脚本" -a "$0" lxx1065372838@163.com <<< "Nginx 部署脚本已完成,请查收。"
else
    echo "脚本执行失败,请检查相关日志。"
fi

开始实现

# cd /day04

vim 6.sh

bash 6.sh


http://www.kler.cn/a/403777.html

相关文章:

  • C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
  • web——upload-labs——第九关——特殊字符::$DATA绕过
  • React的API✅
  • 【Python】FastAPI:Token认证
  • NAT网络地址转换——Easy IP
  • [Unity]游戏开发基础2- 从草图到最小可用产品:视频游戏创作阶段详解
  • 项目配置文件选择(Json,xml,Yaml, INI)
  • 机器学习和深度学习中的logit
  • Debezium日常分享系列之:Debezium Engine
  • 性能优化(二):ANR
  • 如何使用 Docker Compose 安装 WireGuard UI
  • Linux·线程控制
  • Unity3D 移动端如何高效实现冲击波扭曲效果详解
  • PostgreSQL提取JSON格式的数据(包含提取list指定索引数据)
  • 虚拟存储器管理(深入理解计算机系统期末周突击笔记)
  • pyinstall 打包Django程序
  • 探索设计模式:原型模式
  • MyBatis 入门学习总结
  • 【Failed to resolve import “fsevents“ 】解决方案
  • Android Studio 构建报错 “Installed Build Tools revision 3x.0.0 is corrupted“
  • JSON 数组
  • Python小游戏28——水果忍者
  • Jetson AGX Orin v4l2 cuda 视频解码
  • 共享单车管理系统项目学习实战
  • PC上浏览器是如何查询DNS 缓存的?
  • 激光slam学习笔记5---ubuntu2004部署运行fastlivo踩坑记录