编写一键部署软件脚本

 

案例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启动脚本,要求如下:

脚本支持start、stop、restart、status

脚本支持报错提示

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

2.2步骤

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

步骤一:编写脚本

脚本通过位置变量$1读取用户的操作指令,判断是start、stop、restart还是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