• 编写一键部署软件脚本


                                                           编写一键部署软件脚本

    案例1:编写一键部署软件脚本

    案例2:启动脚本

    案例3:编写监控脚本

    案例4:编写安全检测脚本

    案例5:编写进度显示脚本

    1案例1:编写一键部署软件脚本

    1.1问题

    本案例要求编写脚本实现一键部署Nginx软件(Web服务器):

    一键源码安装Nginx软件

    脚本自动安装相关软件的依赖包

    脚本自动判断yum是否可用

    1.2步骤

    实现此案例需要按照如下步骤进行。

    步骤一:准备工作

    1)判断yum源是否可用

    通过yum repolist查看软件包数量是否大于0

    [root@svr5~]#yum repolist

    [root@svr5~]#yum repolist B | awk '/repolist/{print$2}'

    [root@svr5~]#yum repolist | awk '/repolist/{print$2}' | sed 's/,//'

    [root@svr5~]#N=$(yum repolist | awk '/repolist/{print$2}' | sed 's/,//')

    [root@svr5~]#[ $N -le 0 ] && echo 'yum不可用'

    2)依赖包

    源码安装Nginx需要提前安装依赖包软件gcc,openssl-devel,pcre-devel

    步骤二:编写脚本

    1)参考脚本内容如下:

    [root@svr5~]#vim test.sh

    #!/bin/bash

    N=$(yum repolist | awk '/repolist/{print$2}' | sed 's/,//')

    If [ $N -le 0 ];then

    echo"yum不可用"

    exit

    fi

    yum -y install gcc openssl-devel pcre-devel

    tar -xf nginx-1.12.2.tar.gz

    cd nginx-1.12.2

    ./configure

    make

    make install

    2)确认安装效果

    Nginx默认安装路径为/usr/local/nginx,该目录下会提供4个子目录,分别如下:

    /usr/local/nginx/conf配置文件目录

    /usr/local/nginx/html网站页面目录

    /usr/local/nginx/logs Nginx日志目录

    /usr/local/nginx/sbin主程序目录

    主程序命令参数:

    [root@svr5~]#/usr/local/nginx/sbin/nginx //启动服务

    [root@svr5~]#/usr/local/nginx/sbin/nginx-s stop //关闭服务

    [root@svr5~]#/usr/local/nginx/sbin/nginx -V //查看软件信息


     案例2:启动脚本

    2.1问题

    本案例要求编写Ngin启动脚本,要求如下:

    脚本支持startstoprestartstatus

    脚本支持报错提示

    脚本具有判断是否已经开启或关闭的功能

    2.2步骤

    实现此案例需要按照如下步骤进行。

    步骤一:编写脚本

    脚本通过位置变量$1读取用户的操作指令,判断是startstoprestart还是status

    1)参考脚本内容如下:

    [root@svr5~]#vim test.sh

    #!/bin/bash

    case  $1 in

    start)

    /usr/local/nginx/sbin/nginx;;

    stop)

    /usr/local/nginx/sbin/nginx -s stop;;

    restart)

    /usr/local/nginx/sbin/nginx -s stop

    /usr/local/nignx/sbin/nginx;;

    status)

    netstat -ntulp | grep -q nginx

    If [$? -eq 0];then

    echo服务以启动

    else

    echo服务未启动

    fi;;

    *)

    echo Error;;

    esac

    2)执行测试脚本:

    [root@svr5~]#./test.sh start

    [root@svr5~]#./test.sh stop

    [root@svr5~]#./test.sh status

    [root@svr5~]#./test.sh xyz

  • 相关阅读:
    2018-08-25多线程Thread类+Runnable接口+线程的6种状态
    2018-08-24Properties类+序列化+反序列化+FileUtils+FilenameUtils
    2018-08-22字节字符转换流InputStreamReader+OutputStreamWriter+缓冲流Buffered+newLine换行方法
    2018-08-21文件字节输出流OutputStream+文件字节输入流InputStream+字符输出流FileReader+字符输出流FileWriter
    2018-08-20内容IO流中的File类+文件过滤器FileFilter+递归
    List接口方法、LinkedList方法、Vector集合、Set接口下HashSet、LinkedHashSet集合、HashCode()+equals()方法对于Set接口判断重复的详细细节
    集合之Collection接口AND Iterator迭代器 AND 增强for AND 泛型
    面向对象测试题
    基本类型包装类之system类
    Date
  • 原文地址:https://www.cnblogs.com/qingbai/p/11941112.html
Copyright © 2020-2023  润新知