您的位置:首页 > 运维架构 > Linux

rsync实现windows与Linux同步文件

2012-08-17 17:59 656 查看
Linux为服务端,windows为客户端
实验环境
Linux:CentOS 5.5X_64 IP: 192.168.10.36
windows: windows 7 IP :192.168.10.121
配置好yum,安装rsync软件
[root@test ~]# rpm -qa |grep rsync
rsync-3.0.6-4.el5_7.1
手动建立同步配置文件rsyncd.conf
[root@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  //显示服务端的资源列表
退出保存
建立同步用户并设置密码
[root@test ~]# useradd backupuser
[root@test ~]# passwd backupuser
建立密码验证文件
[root@test ~]#  echo "backupuser:p@ssw0rd" > /etc/rsyncd.pass  (backupuser:p@ssw0rd为用户和密码,格式为user:passwd)
建立服务端数据目录
[root@test ~]# mkdir -pv /data/tongbu
设置配置文件及验证文件所有者读取写入权限
[root@test ~]# chmod 600 /etc/rsyncd.conf
[root@test ~]# chmod 600 /etc/rsync.pass
启动rsync服务,并查看是否正常启动
[root@test ~]# rsync --daemon
[root@test ~]# lsof -i:873
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
xinetd  3302 root    5u  IPv4  11305       TCP *:rsync (LISTEN)  //正常监听
设置开机自动启动
[root@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的批处理文件
@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
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
echo.
echo 数据同步完成
echo.
此时就可以把win下面的文件同步到linux上,感觉不错吧!!!!


本文出自 “襄阳人家” 博客,请务必保留此出处http://loveroot.blog.51cto.com/3253831/965923
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: