apache自动更新站点内容脚本
apache自动更新站点内容脚本实现思路:
通过软链接的方式更改网站目录对应的站点目录
准备工作:
[*] 先将网站内容的两个版本上传到服务器上面,存放路径为/server/www
# ll
总用量 8
-rw-r--r-- 1 root root 167 9月 1 12:54 html1.1.tar.gz
-rw-r--r-- 1 root root 166 9月 1 12:57 html1.2.tar.gz
[*] 配置Apache虚拟主机,网站访问路径为/alidata/xx/webapps/xx
# tail -15 /usr/local/apache2/conf/extra/httpd-vhosts.conf
………
ServerAdmin admin@dyb.com
DocumentRoot/alidata/xx/webapps/xx
Options IndexesFollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
ServerName xx.dyb.com
DirectoryIndex index.htmlindex.htm index.jsp
ErrorLoglogs/uh.dyb.com_error_log
CustomLoglogs/uh.dyb.com_access_log common
实现脚本:
通过脚本实现自动更新站点内容(脚本需要加网站版本号参数即可)
# cat change_html.sh
#!/bin/bash
#this script create at 2015-09-01
#author:hao123
#this script is use to change html version
#版本存放目录
html_ver_dir=/server/www
#web访问目录
html_acc_dir=/alidata/xx/webapps
if [ $# -ne 1 ];then
echo"you need add html version id,like 1.1"
else
num=`find $html_ver_dir -type f -name "html$1.tar.gz"|wc -l`
if [ $num-eq 1 ];then
cd $html_ver_dir
find $html_ver_dir -type d ! -name "html$1" -a ! -name"www"|xargs rm -rf
tar zxf html$1.tar.gz
cd $html_acc_dir
rm -f xx
ln -s $html_ver_dir/html$1 xx
else
echo"Don't find the html version"
fi
fi
结果展示:
# sh change_html.sh 1.2
# ll /server/www/
总用量 12
-rw-r--r-- 1 root root167 9月 1 13:55 html1.1.tar.gz
drwxr-xr-x 2 root root 4096 9月 1 13:54 html1.2
-rw-r--r-- 1 root root167 9月 1 13:55 html1.2.tar.gz
# sh change_html.sh 1.1
# ll /server/www/
总用量 12
drwxr-xr-x 2 root root 4096 9月 1 13:54 html1.1
-rw-r--r-- 1 root root167 9月 1 13:55 html1.1.tar.gz
-rw-r--r-- 1 root root167 9月 1 13:55 html1.2.tar.gz
问题说明:
[*] 如果使用软链接访问网站报错,可参考http://szh11.blog.51cto.com/825676/1690446解决
[*] 后期可以和svn配合,开发将网站代表打包传到svn上,然后通过脚本实现自动更新网站版本
页:
[1]