编写一键部署软件脚本
案例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