shell完成简单的apache自动部署

说明:环境是centos6.5 ip是172.24.10.107 目的是为了学习shell


这次学到的内容:判断安装包是否存在

1
2
3
4
5
if [ `rpm -qa |grep httpd |wc -l` -ne 0  ];then
    这个是存在怎么样
else
    不存在怎么样
fi


首先看下:

1
rpm -qa |grep httpd

看下如果安装了返回的结果:

1
2
3
4
5
[root@China shell]# rpm -qa |grep httpd 
httpd-devel-2.2.15-60.el6.centos.6.x86_64
httpd-tools-2.2.15-60.el6.centos.6.x86_64
httpd-2.2.15-60.el6.centos.6.x86_64
httpd-manual-2.2.15-60.el6.centos.6.noarch

如果加上wc -l 呢

1
2
[root@China shell]#  rpm -qa |grep httpd |wc -l
4

返回一个4,就说明安装了4个安装包,也就说明这个软件安装了,-ne的意思是不等于,

在这的意思就是所4不等0,所以软件安装了。


完整的程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
#by-duwentao
#2017-11-12
 
 
html="/var/www/html"
ip=127.24.10.107
 
 
if [ `rpm -qa |grep httpd |wc -l` -ne 0  ];then
    yum remove httpd* -y
    yum install httpd* -y
else
    yum install httpd* -y
fi
 
 
if [ ! -f $html/index.html ];then
    mkdir -p $html
    touch $html/index.html
else
    rm -rf $html
    mkdir -p $html
    touch $html/index.html
    chmod 705 $html/index.html
fi
 
cat >>$html/index.html<< +END+
    this is $ip server 
+END+
 
echo "ServerName $ip:80" >> /etc/httpd/conf/httpd.conf
 
service httpd restart

执行效果:


欢迎关注我微信公众号,与我一起学习

shell完成简单的apache自动部署



本文转自 天道酬勤VIP 51CTO博客,原文链接:http://blog.51cto.com/tdcqvip/1980985

上一篇:博通谈物联网战略:“垂直分工”与生态系统


下一篇:Joyent 开源其中心云计算和容器管理工具