这几天需要把几个windows服务器的网站备份到另外一个备份机器里,防止出现故障可以及时切换。 其实方案很多,可以选择一些同步软件,比如dropbox,谷歌网盘之类的,但是搜索了一番,最后还是选择cwrsync这个方案。 首先是有三个网站服务器A,B,C,备份机器D。 现在新版的cwrsync都是要收费的,所以选择了老版本。 首先需要三台机器上安装cwrsyncServer版本的。 其中有一个步骤是设置账号密码,自己先记下来,后面要用到。
如图所示,打开用用记事本打开rsyncd.conf这个文件夹,然后清空里边的东西;
用记事本打开rsyncd.conf这个文件夹,然后清空里边的东西,
填入 use chroot = false uid = 0 gid = 0 strict modes = false log file = rsyncd.log port = 123 [www] path = /cygdrive/c/123 read only = false transfer logging = yes auth users = SvcCWRSYNC secrets file = etc/testuser.pas hosts allow = 备份服务器ip hosts deny = 0.0.0.0/0 [data] path = /cygdrive/c/abc read only = false transfer logging = yes auth users = SvcCWRSYNC secrets file = etc/testuser.pas hosts allow = 备份服务器ip hosts deny = 0.0.0.0/0 port = 123 这个就是服务器端监听的端口是123
[www]和[data]都是定义一个模块,相当于一个用户,可以用这个来限定一些权限以及这个用户可以访问的文件夹,有多个需要备份的文件夹可以定义多个
path = /cygdrive/c/abc和path = /cygdrive/c/abc 都是要进行备份的文件夹
auth users = SvcCWRSYNC 这个就填写你在安装cwRsyncServer_4.1.0_Installer的时候填写的用户名 secrets file = etc/testuser.pas这个是密码文件所在的路径 hosts allow 允许访问这个服务器的IP地址,这个根据需要自己修改 hosts deny = 0.0.0.0/0 这个事阻止访问的地址。 etc/testuser.pas 在etc下创建一个testuser.pas这样的名字或者自己填的,里边的内容格式是 用户名:密码 我的内容是 :SvcCWRSYNC:123456 然后cmd->services.msc找到rsyncserver这个服务,
右键->属性->登录->输入刚刚设置的账号密码;
点击确定,之后右键这个服务,点击启动….. 接着在备份机器上安装cwrsync客户端; 打开CMD,输入命令cd C:\Program Files (x86)\cwRsync\bin,这个是客户端bin的路径,默认是这样; rsync.exe -vzrtopg –progress –delete SvcCWRSYNC@服务器的IP::www /cygdrive/c/databackup/ –port=123 接着输入密码:123456
rsync.exe -vzrtopg –progress –delete (设置的那个用户名)@(服务器的IP地址)::(rsyncd.conf配置的模块名称) /cygdrive/(本地备份服务器端的文件夹路径) –port=(服务器端监听的端口) 这样就可以把服务器端的文件同步过来了。 每次都要这样输入会比较麻烦的,那么可以设置一个cwrsync同步脚本,只要点击一下就可以自动运行。 @echo off echo. echo start… echo. cd C:\Program Files (x86)\cwRsync\bin rsync.exe -vzrtopg –progress –delete 用户名@服务器ip::data /cygdrive/路径 –port=端口 echo. echo finish! echo. exit 把上面这段内容保存为了.bat就可以了