apache自动更新站点内容脚本

apache自动更新站点内容脚本

实现思路:

通过软链接的方式更改网站目录对应的站点目录

准备工作:

  1. 先将网站内容的两个版本上传到服务器上面,存放路径为/server/www
[[email protected] 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
  1. 配置Apache虚拟主机,网站访问路径为/alidata/xx/webapps/xx
[[email protected] scripts]# tail -15 /usr/local/apache2/conf/extra/httpd-vhosts.conf
………
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot/alidata/xx/webapps/xx
    <Directory"/alidata/xx/webapps/xx">
        Options IndexesFollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    ServerName xx.dyb.com
    DirectoryIndex index.htmlindex.htm index.jsp
    ErrorLoglogs/uh.dyb.com_error_log
    CustomLoglogs/uh.dyb.com_access_log common
</VirtualHost>

实现脚本:

通过脚本实现自动更新站点内容(脚本需要加网站版本号参数即可)

[[email protected] scripts]# 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

结果展示:

[[email protected] scripts]# sh change_html.sh 1.2
[[email protected] scripts]# ll /server/www/
总用量 12
-rw-r--r-- 1 root root  167 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 root  167 9月   1 13:55 html1.2.tar.gz

[[email protected] scripts]# sh change_html.sh 1.1
[[email protected] scripts]# ll /server/www/
总用量 12
drwxr-xr-x 2 root root 4096 9月   1 13:54 html1.1
-rw-r--r-- 1 root root  167 9月   1 13:55 html1.1.tar.gz
-rw-r--r-- 1 root root  167 9月   1 13:55 html1.2.tar.gz

问题说明:

  1. 如果使用软链接访问网站报错,可参考http://szh11.blog.51cto.com/825676/1690446解决
  2. 后期可以和svn配合,开发将网站代表打包传到svn上,然后通过脚本实现自动更新网站版本
时间: 2024-10-16 05:52:14

apache自动更新站点内容脚本的相关文章

自动更新时间死循环脚本

1 #!/bin/sh 2 #Author:nulige 3 # qqinfo:1034611705 4 # Date: 2015-6-8 5 #实现功能:自动更新时间死循环脚本 6 7 while true 8 do 9 uptime 10 sleep 1 11 done [[email protected] script]# date2016年 04月 15日 星期五 11:54:45 CST [[email protected] script]# ll总用量 16-rw-r--r--. 1

tomcat自动更新版本的脚本

脚本实现目的: 利用svn更新war包同时删除缓存. 彻底关闭tomcat,用指定用户启动tomcat. 考虑事项: 执行函数为:zzz01 tomcat路径为/usr/local 启动tomcat用户为www 注意xargs的使用 #!/bin/bash function zzz01(){ su- www -c "rm -rf /usr/local/tomcat_imp_stockRecord1/webapps/imp-stockRecord-web" su- www -c &quo

Java项目的自动更新并构建脚本

一.安装支撑包,有则改之,无则嘉勉 cd /etc/yum.repos.d/ yum -y install wget wget http://mirrors.163.com/.help/CentOS7-Base-163.repo mv CentOS7-Base-163.repo Centos-Base.repo yum clean all yum makecache yum -y update sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /et

软件自我成长之路——关于自动更新

什么是自动更新? 自动更新就是软件自我成长完善的过程(其实软件只是实现这个过程中的一小部分,更多的还是需要人来完成),最常见的自动更新就是 Windows Update 我们看看微软是怎么说的: 为什么使用自动更新?自动更新有什么好处? 1.自动修复软件存在的漏洞: 2.自动修复软件存在的Bug: 3.自动安装新功能新特性: 4.自动更新广告内容(如果软件嵌入了广告,这是免费/共享软件主要的收入来源): 5.其它你想让软件自动完成的功能(注意功能的使用,别把你的软件变成了病毒或木马!): 自动更

linux apache 自动监护脚本

1 首先安装curl yum install curl 2 编写shell vi restart_apache.sh 写入一下内容 #!/bin/bashURL="http://127.0.0.1/"curlit(){curl --connect-timeout 35 --max-time 40 --head --silent "$URL" | grep '200'} doit(){if ! curlit; thensleep 20top -n 1 -b >&

通过Git WebHooks+脚本实现自动更新发布代码之shell脚本

前文讲述了<通过Git WebHooks+脚本实现自动更新发布代码>,里面提供了一种自动更新发布代码的脚本编写思路.本文的脚本与前文中的思路不太不同.本脚本以capistrano中的一些思想和理念为依据,用简单好理解的shell脚本实现capistrano原本实现的自动化部署部分. 脚本的一些特点和功能: 解决脚本的符号链接问题,准确获取脚本工作目录(从tomcat脚本中学到): 颜色显示,不同级别的信息用不同的颜色显示(共两种方案,前一种从一位不知名的国外工程师处得到,后一种从lnmp1.2

通过Git WebHooks+脚本实现自动更新发布代码

需求: 写一个自动化部署脚本,能根据git push动作自动更新发布代码(补丁文件(或更新文件,以下简称补丁)) 解决方案: 通过git webhooks.python脚本.Linux Shell脚本完成,所有动作均自动完成,人工部分仅限于发布补丁文件之前 git webhooks实现触发执行脚本 python脚本用于接收git webhooks的post数据并根据这些数据判断是否执行shell脚本 Linux Shell脚本用于实现部署.备份.回滚等操作 具体步骤(方案实现): 实现原理: 用

通过Git WebHooks+脚本实现自动更新发布代码之Shell脚本(二)

依据前文<通过Git WebHooks+脚本实现自动更新发布代码>的解决方案编写的shell脚本,此脚本专门用于更新补丁文件,例如对项目中的文件实现增(add).删(remove).改(update),并且执行相关的命令,如清除缓存.重启服务等. 此Shell脚本目前设计成在本地执行,目前不适合分布式执行的情况.也就是说,此脚本最好与项目在同一个机器上,这个缺陷已经标注在脚本中了,参见脚本中的多个TODO. 脚本完成的工作: 检查配置文件合规性 备份与恢复 增删改文件 执行命令 失败回滚 除上

自动更新svn的内容到网站

每次编写网站代码,都是手工复制到服务器然后看效果,现在可以通过svn自动更新网站的代码,方法如下: 1.编写批处理 "C:\Program Files\Subversion\bin\svn.exe" export --force --no-auth-cache --quiet svn://xxxxxx [path] --username [username] --password [password] 相关参数说明: 1.C:\Program Files\Subversion\bin\