利用subversion,usvn,rsync,cwrsyn,管理Windows Server IIS 站点文件的更新(3)

简介:


SVN服务器上


创建完项目后,可以在

usr/local/ data/www/svn/svn/下看到目录www_skybug_com目录,此时,该项目是个空项目。在svn客户端将站点文件提交,提交地址

http://svnserverIP/svn/www_skybug_com/trunk/

提交完站点文件后,

1
2
3
4
5
mkdir  /usr/local/  data /www_skybug_com
chown  apache:apache /  /usr/local/  data /www_skybug_com
chmod  0755  /usr/local/  data /www_skybug_com
cd  /usr/local/  data /www_skybug_com
svn checkout http: //svnserverip/www_skybug_com/trunk/  --usernmae skybug --password ****** --no-auth-cache

测试检出正常。

Windows server 服务器上安装cwRsyncServer

下载地址:

https://www.itefix.no/i2/content/cwrsync-free-edition

默认安装后,进入

C:\ICW\etc下,编辑fstab文件

在最后一行添加

1
e: /webroot/www .skybug.com/   /www .skybug.com/  ntfs override,binary,noacl 0 0

可以理解这一行为e:/webroot/www.skybug.com挂载到/www.skybug.com/  具体参照cygwin文档http://cygwin.com/cygwin-ug-net/using.html


如果没有这个sync传过来的目录文件会都没有权限。

编辑C:\ICW\rsyncd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use chroot =  false
strict modes =  false
hosts allow = *
log  file  = rsyncd.log
uid=0
gid=0
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[www_skybug_com]
#port= 878
path =  /www .skybug.com
read  only =  false
transfer logging =  yes
use chroot=no
list =  yes
hosts allow =192.168.x.y 192.168.x.z
auth  users =skybug
secrets  file  /cygdrive/c/icw/passwd

编辑c:\icw\passwd文件(没这个文件自己创建一个)

内容为

skybug:*****(密码)

重启rsync服务。

SVN服务器上

编辑钩子程序,让客户端提交后自动把站点文件checkupdate /usr/local/data/www.skybug.com/目录下,然后rsync提交到windows服务器上


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh
export  LANG=zh_CN.UTF-8
REPOS= "$1"
REV= "$2"
SVN= /usr/bin/svn
RSYNCPASSWD= /usr/local/  data  /rsyncpasswd/password
WEBDIR= /usr/local/  data  /www .skybug.com/
RSYNC= /usr/bin/rsync
LOG= /var/log/httpd/snvcom .log
WEBIP= "192.168.x.y"
export  LANG=en_US.UTF-8
# 自动update 站点文件到 svn服务器的检出目录中
$SVN update $WEB --username skybug --password ****** --no-auth-cache
#如果上述检出动作执行成功,则:
if  [ $? == 0 ]
then
     echo  ""      >> $LOG
     echo  ` date ` >> $LOG
     echo  "##############################"  >> $LOG
     chown  -R apache:apache $WEBDIR
     chmod  -R 0755 $WEBDIR
     $RSYNC -vzrztopg   --exclude-from=$WEBDIR /exclude .list $WEBDIR skybug@$WEBIP::www_skybug_com --password- file =$RSYNCPASSWD >> $LOG
fi
echo  "$1 ,$2,OK"  >>$LOG
1
chown  apache:apache .  /post-commit

如果需要同步多个WEB服务器,把WEBIP做成数组,然后再循环执行$RSYNC断的命令既可

其中--exclude-from=$WEB/exclude.list是指哪些目录文件不同步。按照实验环境该文件内容为

.svn

/exclude.list

如果站点上有用户上传的文件,显然用户上传的目录也应该在该列表中。




      本文转自天山三害 51CTO博客,原文链接:http://blog.51cto.com/skybug/1343623,如需转载请自行联系原作者




相关文章
|
22天前
|
边缘计算 安全 网络安全
|
15天前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
18天前
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
|
18天前
|
网络协议 定位技术 Windows
Windows Server 2019 DNS服务器搭建
Windows Server 2019 DNS服务器搭建
|
25天前
|
存储 开发框架 .NET
Windows IIS中asp的global.asa全局配置文件使用说明
Windows IIS中asp的global.asa全局配置文件使用说明
31 1
|
15天前
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域
|
18天前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
|
18天前
|
网络协议 Windows
Windows Server 2019 Web服务器搭建
Windows Server 2019 Web服务器搭建
|
27天前
|
程序员 Windows
程序员必备文件搜索工具 Everything 带安装包!!! 比windows自带的文件搜索快几百倍!!! 超级好用的文件搜索工具,仅几兆,不占内存,打开即用
文章推荐了程序员必备的文件搜索工具Everything,并提供了安装包下载链接,强调其比Windows自带搜索快且占用内存少。
31 0
|
6月前
|
开发框架 .NET API
在Windows Server 2008 R2上运行.Net 8应用
在Windows Server 2008 R2上成功运行.Net 8程序,需安装三个补丁:Windows Server 2008 R2 SP1 (KB976932)是基础更新;VC_redist.x64提供MSVC库支持;KB3063858解决.NET运行时加载`kernel.dll`的路径问题。KB3063858可能需要KB2533623。详细信息和下载链接在文中给出。
446 4