使用cwRsync进行服务器文件和数据库备份


在学校的一台服务器上架设了一个网站,为保证数据安全,需要将数据文件备份到另一台电脑上,包括站点文件和数据库。在网上找了一下,除了收费的FileGee之外,还有一个免费的,比较强大的cwRsync。

cwRsync共包含两部分:服务器端软件和客户端软件。

我并没有深入地去研究它,只知道它功能很强大,目前只是满足我当前的需求了:简单的定期备份服务器上的站点文件和数据库文件到另一台电脑上。
首先将服务器商和客户端都下载下来,在服务器上安装好服务器版软件,安装很顺利,安装完之后它自动添加一个cwRsync的服务,但是为手动方式并且这时候并没有被启动。

接着需要手动修改下它的配置文件,在程序根目录下有一具rsyncd.conf文件,用记事本打开它,按照它里面的一个名为test的例子,简单修改下路径:

[test]
path=e:/test
comment=Data Backup for Summers 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]            # 这里是认证的模块名,www.linuxboy.net在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中都有说明,全英文的,耐心点看还是很容易看懂的。

 

相关内容

    暂无相关文章