对于一个网站来说,用户上传文件的同步备份是必需要解决的问题。对于有着巨量上传文件的大型网站,一般采用分布式存储系统。而对于上传文件量不是很大的网站,只要在另外一台服务器上保存上传文件的同步备份,避免单点故障,就可以满足需求。如果采用分布式存储系统,性价比不是很高,而cwRsyn就是一个不错的选择。
下面简单介绍一下如何使用cwRsyn进行文件同步。
cwRsync是Windows平台的文件同步解决方案,cwRsync打包了rsync和cygwin,rsync是Linux平台的文件同步软件,cygwin是一个在Windows平台上运行的Linux模拟环境。
1. cwRsync服务端安装与配置
1) 下载并安装cwRsyncServer,下载地址:http://sourceforge.net/projects/sereds/files/。
安装过程中,会出现创建用户的窗口,输入用户名与密码后,安装软件会自动创建一个Windows帐户。该帐户用于运行RsyncServer的Windows服务(要注意该帐户对要同步的文件夹是否具有权限),当然你也可以用系统帐户来运行服务。安装完成后,在管理工具》服务中会出现RsyncServer服务。
2) 修改配置文件rsyncd.conf,配置文件如下:
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
uid = 0
gid = 0
[ test ]
path = /cygdrive/f/test
read only = false
transfer logging = yes
配置文件说明:
a) uid = 0,gid = 0是针对匿名访问的情况进行设置的,这样客户端同步时就不需要进行用户验证。如果不进行这样的设置,客户端同步时会出现“invalid uid nobody”或“invalid gid nobody”的错误提示。如果需要用户验证,就要进行另外的设置。
b) [test]相当于虚拟目录,客户端同步时,就是通过这个名字访问服务器上要同步的文件夹。
c) path = /cygdrive/f/test,同步文件夹的实际路径,f/test=f:\test。
3) 进入管理工具》服务,启动RsynServer服务。
注:
a) cwRsyncServer默认端口是873,如果要指定端口,在rsyncd.conf中添加:port = 端口号。
b) 修改了rsyncd.conf,重启RsynServer服务之后才会生效。
2. 客户端使用方法
1) 下载并安装cwRsyn客户端,下载地址:http://sourceforge.net/projects/sereds/files/。
2)通过命令行进行同步操作:
假设cwRsync服务器的IP是192.168.0.58,使用默认端口873,要同步的虚拟目录是test,客户端进行同步的文件夹是h:\sync\test,则运行如下的命令进行同步:
rsync -av rsync://192.168.0.58:873/test /cygdrive/h/sync/test
注:如果服务器端删除文件,客户端同步时不会在客户端删除文件,只同步增加和更新的文件。
3) 创建同步批处理文件并加入任务计划。
为了让客户端同步操作自动进行,需要将同步命令放在批处理文件中,并将该批处理文件加入任务计划。
cwRsyn的使用方法就介绍到这里,欢迎大家补充。
相关文章: