一、rsync服务器安装
可以通过rysnc的官方网站:http://rsync.samba.org可以从上面得到最新的版本进行编译安装
[root@server ~]# tar xvf rsync-3.1.1.tar.gz
[root@server ~]# cd rsync-3.1.1
[root@server rsync-3.0.9]# ./configure --prefix=/usr/local/rsync
[root@server rsync-3.0.9]# make
[root@server rsync-3.0.9]# make install
或者直接使用yum -install rsync 安装
二、 rsync服务器的配置文件rsyncd.conf
rsync的主要有以下三个配置文件:
rsyncd.conf(主配置文件)
rsyncd.secrets(密码文件)
rsyncd.motd(rysnc服务器信息)
rsyncd.motd可配可不配,只是欢迎信息。
主配置文件不存在,需要手动创建/etc/rsyncd.conf
rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数
#vi /etc/rsyncd.conf
全局参数
uid = root //运行RSYNC守护进程的用户
gid = root //运行RSYNC守护进程的组
use chroot = no //不使用chroot
max connections = 4 // 最大连接数为4
strict modes =yes //是否检查口令文件的权限
port = 873 //默认端口873
模块参数
[backup] //这里是认证的模块名,在client端需要指定
path = /storage //需要做镜像的目录,可自己指定不可缺少!
comment = This is a test //这个模块的注释信息
ignore errors //可以忽略一些无关的IO错误
read only = yes // 只读
list = no //不允许列文件
auth users = hening //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/rsync.pas //密码和用户名对比表,密码文件自己生成
hosts allow = 192.168.1.1,10.10.10.10 //允许主机
hosts deny = 0.0.0.0/0 //禁止主机
配置rsync密码(在上边的配置文件中已经写好路径) /etc/rsync.pas(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)
账号:密码
#vi /etc/rsync.pas
例子:
root:123456
权限:因为rsync.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pas设置为root拥有, 且权限为600。
#cd /etc
#chown root.root rsync.pas
#chmod 600 rsync.pas
启动RSYNC
#vi /etc/xinetd.d/rsync
把原来的YES改成NO
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
随系统启动RSYNC
#chkconfig rsync on
让配置生效
#service xinetd restart
启动rsync服务端
#/usr/bin/rsync –daemon
加入rc.local
在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync --daemon加载进去。
#vi /etc/rc.local
加入一行/usr/bin/rsync --daemon
验证是否启动
netstat -a | grep rsync
开启iptables中873端口
/sbin/iptables -I INPUT -p tcp --dport 873 -j ACCEPT #开启873端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务
关闭SELINUX
临时打开:
setenforce 1 ----设置SELinux 成为enforcing模式
临时关闭:
setenforce 0 ----设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数
/usr/bin/setstatus -v
服务器端到此安装完成
windows客户端
通过cwRsync客户端安装来同步数据
1、下载cwRsync客户端软件
下载地址:http://jaist.dl.sourceforge.net/project/sereds/cwRsync/4.0.5/cwRsync_4.0.5_Installer.zip
2、安装cwRsync客户端
解压cwRsync_4.0.5_Installer.zip 双击打开cwRsync_4.0.5_Installer.exe
Next 下一步
I Agree 同意安装
Next
默认安装路径 C:\Program Files\cwRsync
Install 安装
Close 安装完成,关闭
3、测试是否与Rsync服务端通信成功
开始-运行-cmd
输入cd C:\Program Files\cwRsync\bin 回车
再输入telnet 服务器IP 873 回车
出现telnet界面,说明与Rsync服务端通信成功
备注 C:\Program Files\cwRsync\bin 是指cwRsync程序安装路径
cwRsync客户端同步Rsync服务端的数据
在D盘创建一个文件夹为:data
开始-运行-cmd,输入cd C:\Program Files\cwRsync\bin 回车
再输入
rsync -vzrtopg --progress --delete root@服务器IP::backup /cygdrive/d/data
输入密码:123456 #回车
开始同步数据,等待执行完成,可以打开D:\data 与Rsync服务端/data/share目录中的数据对比一下,查看是否相同
说明:
d/data 代表D:\data
backup 代表/etc/rsyncd/rsyncd.conf文件中自定义的模块名称backup
服务器IP #Rsync服务端IP地址
root #执行数据同步的用户
--port=873 #端口
-vzrtopg --progress #显示同步过程详细信息
--delete #从cwRsync客户端D:\data目录中删除与Rsync服务端/data/share目录中不相同的数据,即保证两边的数据完全一致
反过来,从windows客户端拷贝数据命令如下
rsync -vzrtopg --progress /cygdrive/d/ root@服务器IP::backup
添加自动任务
在C:\Program Files\cwRsync\bin中建立passwd.txt文本文件,在里面输入rsync连接密码
同样在此目录建立rsync.bat文件,编辑
@echo off
echo.
echo 开始同步数据,请稍等...
echo.
cd C:\Program Files (x86)\cwRsync\bin
rsync -vzrtopg --progress --delete /cygdrive/d/ < passwd.txt root@服务器IP::backup
echo.
echo 数据同步完成
echo.
然后将该批处理加入计划任务即可