在学校的一台服务器上架设了一个网站,为保证数据安全,需要将数据文件备份到另一台电脑上,包括站点文件和数据库。在网上找了一下,除了收费的FileGee之外,还有一个免费的,比较强大的cwRsync。
cwRsync共包含两部分:服务器端软件和客户端软件。
我并没有深入地去研究它,只知道它功能很强大,目前只是满足我当前的需求了:简单的定期备份服务器上的站点文件和数据库文件到另一台电脑上。
首先将服务器商和客户端都下载下来,在服务器上安装好服务器版软件,安装很顺利,安装完之后它自动添加一个cwRsync的服务,但是为手动方式并且这时候并没有被启动。
接着需要手动修改下它的配置文件,在程序根目录下有一具rsyncd.conf文件,用记事本打开它,按照它里面的一个名为test的例子,简单修改下路径:
[test]
path=e:/test
comment=Data Backup for Summer's laptop
read only=no
接着在头部,可以加上下面两句:
port=52315 # 这句定义打开的服务端口
lockfile = cwRsync.lock # 定义lockfile,用来同步使的。
下面是从网络上搜集到的一点对于服务器端配置文件的说明:
相关解释:
uid = nobody
gid = nobody
use chroot = no # 不使用chroot
max connections = 4 # 最大连接数为4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log # 日志记录文件
[inburst] # 这里是认证的模块名,在client端需要指定
path = /home/inburst/python/ # 需要做镜像的目录
comment = BACKUP CLIENT IS SOLARIS 8 E250
ignore errors # 可以忽略一些无关的IO错误
read only = yes # 只读
list = no # 不允许列文件
hosts allow=172.25.43.57 #允许连接IP
auth users = inburst # 认证的用户名,如果没有这行,则表明是匿名
secrets file = /etc/inburst.pas # 认证文件名
修改完之后保存,然后打开service.msc,启动服务。
第二步,在另一台电脑上安装客户端软件,安装很快很简单
然后需要写一个bat批处理文件,并把它放到bin目录中,内容如下:
rsync -av rsync://10.10.55.2:52326/t_hqtechSiteDB /cygdrive/h/sync/db
rsync -av rsync://10.10.55.2:52326/t_hqtechwebsite /cygdrive/h/sync/web
上面两行命令分别备份了数据库文件和站点文件,备份到本地H:/sync文件夹下。而t_hqtechSiteDB和t_hqtechwebsite就如上面rsyncd.conf配置文件中所设定的[test]。
选项说明:
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
其他参数可以查看rsync相关手册。
接着,结合本地电脑的计划任务,就可以实现定时自动备份了。若想实现保留最近三天备份,也可以通过一点技巧,使用计划任务来实现的,不过需要写三个批处理文件,分别指定备份到不同的文件夹下。
总得来说,cwRsync非常强大的。详细的使用方法它的doc中都有说明,全英文的,耐心点看还是很容易看懂的。