|
- Linux为服务端,windows为客户端
- 实验环境
Linux:CentOS 5.5X_64 IP: 192.168.10.36
windows: windows 7 IP :192.168.10.121 - 配置好yum,安装rsync软件
- [iyunv@test ~]# rpm -qa |grep rsync
rsync-3.0.6-4.el5_7.1 - 手动建立同步配置文件rsyncd.conf
- [iyunv@test ~]# vi /etc/rsyncd.conf
logfile=/var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock - [tongbu]
path = /data/tongbu //要同步的Server端目录
comment = tongbu //定义的模块名字,与[tongbu]一致
uid = root
gid = root
port = 873
read only = yes
auth users = backupuser //同步授权帐户
secrets file = /etc/rsync.pass //同步密码验证文件
host allow = 192.168.10.121 //允许同步的机器IP
list = yes //显示服务端的资源列表
退出保存 - 建立同步用户并设置密码
[iyunv@test ~]# useradd backupuser
[iyunv@test ~]# passwd backupuser - 建立密码验证文件
[iyunv@test ~]# echo "backupuser:p@ssw0rd" > /etc/rsyncd.pass (backupuser:p@ssw0rd为用户和密码,格式为user:passwd) - 建立服务端数据目录
[iyunv@test ~]# mkdir -pv /data/tongbu - 设置配置文件及验证文件所有者读取写入权限
[iyunv@test ~]# chmod 600 /etc/rsyncd.conf
[iyunv@test ~]# chmod 600 /etc/rsync.pass - 启动rsync服务,并查看是否正常启动
[iyunv@test ~]# rsync --daemon
[iyunv@test ~]# lsof -i:873
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xinetd 3302 root 5u IPv4 11305 TCP *:rsync (LISTEN) //正常监听 - 设置开机自动启动
[iyunv@test ~]# chkconfig --level 35 rsync on
二.Client端的配置(windows)
1,安装cwRsync工具,http://fengyu.souidc.org/source/cwRsync_Client_2.0.10_Installer.zip
解压安装,这里我安装在D:\Program Files (x86)\cwRsync下面- 2、建立客户端密码验证文件,假如此时放在本地的D盘rsync目录下面,名称是rsync.pass,内容为服务器端密码验证文件中的密码,这里是p@ssw0rd
- 3、在本地例如D盘建立一个tongbu的文件夹,用于存放从服务端同步过来的数据
- 4、打开cmd.exe,进入执行目录bin下面
- cd D:\Program Files (x86)\cwRsync\bin 接着回车
输入 telnet 192.168.10.36 873看看能不能telnet到服务器上,出现telnet对话框表示可以成功连接
接着输入以下命令进行同步 - rsync --port=873 -vzrtopg --progress --password-file=/cygdrive/d/rsync/rsyncd.pass --delete backupuser@192.168.10.36::tongbu /cygdrive/d/tongbu
- 选项说明:
- --port 同步使用端口
-vzrtopg --progress 显示同步的过程
--password-file=/cygdrive/d/rsync/rsyncd.pass 密码验证文件 - --delete 将本地的文件夹与服务器上的要同步的文件夹进行对比,把本地与服务器端不同的数据删除,从而保持两者数据一致
- backupuser@192.168.10.36::tongbu 服务器端定义的/etc/rsyncd.conf中定义的模块名称
- /cygdrive/d/tongbu 本地D盘下的同步文件夹
- 此时会提示输入同步帐户的密码,这里是p@ssw0rd,如果同步成功会在第三部建立的目录中产生同步的文件
- 这里为了可以实现自动化同步,可以写一个bat的批处理文件,但是在同步的过程中会让我们输入验证密码,那么我们在D:\Program Files (x86)\cwRsync\bin下面建立一个保存密码的文本
- 文档passwd.txt,让脚本在处理的过程中自动读取这个文件来实验密码验证
- @echo off
echo.
echo 开始同步数据,请稍等....
echo.
cd D:\Program Files (x86)\cwRsync\bin
rsync --port=873 -vzrtopg --progress --password-file=/cygdrive/d/rsync/rsyncd.pass --delete backupuser@192.168.10.36::tongbu /cygdrive/d/tongbu < passwd.txt
echo.
echo 数据同步完成
echo. - 保存为.bat后双击可以实验自动同步,如果完全自动同步可以使用win下任务计划
- 如果想把windows下面的文件同步到linux上,可以把脚本中的命令顺序改变一下即可
- @echo off
echo.
echo 开始同步数据,请稍等....
echo.
cd D:\Program Files (x86)\cwRsync\bin
rsync --port=873 -vzrtopg --progress /cygdrive/d/tongbu --delete backupuser@192.168.10.36::tongbu --password-file=/cygdrive/d/rsync/rsyncd.pass < passwd.txt
echo.
echo 数据同步完成
echo. - 此时就可以把win下面的文件同步到linux上,感觉不错吧!!!!
|
|