使用cwRsync同步静态资源

最近一直在加班,加班,加班……前几天某个风雨交加的夜里,辗转反侧实在睡不着,粗略算了一下,四月份休息了两天半,五月份休息了三天半,每天晚上基本上也都是九点之后才到家,有时候还会通宵加班。一直以来我都没细致地去想过自己现在为什么这么拼命,现在想来,突然发现自己不知不觉地捡起来了曾经戒掉的理想,发现自己有意愿好像也有能力为曾经的不甘心扬眉吐气,发现自己为了证明自己的价值给人看对自己是如此地重要!因为如此,我才愿意在自己不是太在意金钱的年纪里忍受如此的落差,虽然看上去很大程度上是在为别人活,但这样我挺满足的。

虽说是这样,可心里却并不快乐。今天有同事问我是不是觉得很充实,我想了一下,迸出来一句:我觉得很累……然后就真的好像虚了很多,也确实想放松放松了……扯了这么多,偏题严重了,写博客的频繁程度,其实很大程度上是与自己的懒惰程度成反比的,平时说自己比较忙,没时间写,其实是自欺欺人。昨天刚做了个静态资源的同步,今天先记录一下。

cwRsync是一个跨平台的开源文件同步(备份)软件,简单好用。我的环境,Server端和Client端都是Windows 2008 Server R2,服务端IP是10.0.0.4,客户端IP是10.0.0.2。

服务端和客户端软件在官网都可以下载到,直接双击也就安装完成了,非常简单。需要指出的一点是安装Server端的时候,有一个创建用户的对话框,因为我的环境是2008R2,所以设置的密码复杂度一定要符合2008R2的标准,否则服务安装不上,而且没有任何提示。我创建的用户名是FileSync,密码是1Qaz2Wsx.

Server:

先说服务端的配置,主要就是rsyncd.conf这个配置文件,内容很容易理解,也就不一一解释了,我要同步的是D盘的image和Upload两个文件夹;

1、我直接贴一下自己的配置文件内容吧,如下:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
usechroot =false

strict modes =false

hosts allow = *

log file = rsyncd.log

pid file = rsyncd.pid

port =800

max connections =4

UID=0

GID=0

# Module definitions

# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work

#

#[test]

#path = /cygdrive/c/work

#read only =false

#transfer logging = yes

[image]

path = /cygdrive/d/image

read only =false

transfer logging = yes

lock file = rsyncd.lock

auth users =FileSync

secrets file = etc/rsyncd.secrets

[Upload]

path = /cygdrive/d/Upload

read only =false

transfer logging = yes

lock file = rsyncd.lock

auth users =FileSync

secrets file = etc/rsyncd.secrets

2、创建密码文件rsyncd.secrets并放入etc文件夹,格式为“user:passwd”,如“FileSync:1Qaz2Wsx”;

3、修改防火墙配置,将配置文件里配置的800端口打开;

4、修改要同步的D盘的image和Upload两个文件夹的权限,添加用户FileSync对两个文件夹为完全控制;

至此,服务端配置完毕。

Client: 客户端的配置更简单,一个脚本就可以完成全部的同步任务。

1、新建脚本rsync.bat,我的脚本内容如下:

1
2
3
4
5
6
7
8
9
10
@echo off
echo.
echo 开始同步数据,请稍等...
echo.
cd C:\Program Files (x86)\cwRsync\bin
rsync -vzrtopg --port=800 --progress --delete FileSync@10.0.0.4::image /cygdrive/d/image < passwd.txt
rsync -vzrtopg --port=800 --progress --delete FileSync@10.0.0.4::Upload /cygdrive/d/Upload < passwd.txt
echo.
echo 数据同步完成
echo.

2、新建密码文件passwd.txt,输入密码1Qaz2Wsx,将rsync.bat和passwd.txt放置于同一目录下;

3、开启服务端的RsyncServer服务,执行脚本就可以完成同步任务,如果需要定时同步,添加Windows计划任务即可。