rsync实现同步linux与windows交互同步.docx
- 文档编号:2555903
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:16
- 大小:24.68KB
rsync实现同步linux与windows交互同步.docx
《rsync实现同步linux与windows交互同步.docx》由会员分享,可在线阅读,更多相关《rsync实现同步linux与windows交互同步.docx(16页珍藏版)》请在冰点文库上搜索。
rsync实现同步linux与windows交互同步
Linux作为服务器,windows作为客户端的同步:
1.安装
1.从原始网站下载:
http:
//rsync.samba.org/ftp/rsync/
http:
//rsync.samba.org/ftp/rsync/rsync-3.0.7.tar.gz目前是这个版本
windows版本:
客户端:
cwRsync_2.0.10_Installer
服务端:
cwRsync_Server_2.0.10_Installer
目前大多数linux都已经默认安装了rsync(可通过#rsync检查是否可用)
一、安装过程
1.下载rsync
目前(2003年9月)最新的rsync版本是2.5.6
2.解压
#tar-xzpvfrsync-2.5.6.tar.gz
3.编译安装
#./configure–prefix=/usr/local/rsync
#make
#makeinstall
#cdrsync-2.5.6/
以上过程没有出现问题的话就安装好了,现在就有rsync命令可以用了,rsync命令放在/usr/local/rsync/bin。
用rsync命令可以去运行有rsync服务的服务器上抓取资料。
如果要把当前的机器变成一台rsync服务器的话,就需要继续进行一些配置了。
4.查看rsync是否安装成功
#./rsync
(导出到:
path中#exportPATH="$PATH:
/usr/local/rsync/bin")
如果linux已经默认安装过可以忽略这红色部分
#rsync
打开rsync服务
#chkconfigxinetdon
#chkconfigrsyncon
2.配置linux的rsync服务器
配置rsyncd.conf文件
shell>touch/etc/rsyncd.conf
shell>vi/etc/rsyncd.conf
修改/etc/rsyncd.conf为以下红色内容:
uid=nobody
gid=nobody
maxconnections=5
[test]
path=/etc/feng
comment=BACKUPTEXT
ignoreerrors
readonly=yes
list=no
authusers=username
hostsallow=192.168.52.134
secretsfile=/etc/rsyncd.secrets
(注:
Rsync配置
/etc/rsyncd.conf (默认是没有的,可以手工创建)
#全局选项
strictmodes=yes #是否检查口令文件的权限
port=873 #默认端口873
logfile=/var/log/rsyncd.log #日志记录文件 原文中有的,我没有使用,日志文件
pidfile=/usr/local/rsync/rsyncd.pid #运行进程的ID写到哪里 原文中有的,我没有使用,日志文件
#模块选项
[test] #这里是认证的模块名,在client端需要指定
maxconnections=5 #客户端最大连接数,默认0(没限制)
uid=root #指定该模块传输文件时守护进程应该具有的uid
gid=root #指定该模块传输文件时守护进程应该具有的gid
path=/home/admin/testrsync #需要做备份的目录
ignoreerrors #可以忽略一些无关的IO错误
readonly=no #no客户端可上传文件,yes只读
writeonly=no #no客户端可下载文件,yes不能下载
hostsallow=* #充许任何主机连接
hostsdeny=10.5.3.77 #禁止指定的主机连接
authusers=root #认证的用户名,如果没有这行,则表明是匿名
secretsfile=/home/admin/security/rsync.pass #指定认证口令文件位置
)
配置rsyncd.secrets文件
shell>echo"username:
123">>/etc/rsyncd.secrets
shell>chmod600/etc/rsyncd.secrets
*注:
一定要把rsyncd.secrets的权限设为600,否则不能正常进行身份认证。
包括--password-file指向的密码文件,也必须设成600权限。
启动基于xinetd进程的rsync服务
#/etc/init.d/xinetdstart
3、配置windows的rsync客户端
(1)安装client端的rsync包
(2)打开cmd,执行同步计划:
cdC:
\ProgramFiles\cwRsync\bin
rsync-vzrtopg--progress--deleteusername@192.168.0.132:
:
test/cygdrive/d/test
(此时须输入username用户的密码(既:
123),就可进行同步了。
)
如果要进行定时同步可以利用windows里的任务计划
创建bat文件内容为:
@ECHOON
c:
cd"C:
\ProgramFiles\cwRsync\bin"
ECHO123|rsync-vzrtopg--progress--deleteusername@192.168.52.135:
:
test/cygdrive/d/test
将其添加到任务计划里就可以了(这里要注意如果不能添加任务计划可以看参照下边两种错误的处理
指定错误:
0X80041315:
任务计划程序服务没有运行。
主要原因是你的任务计划服务被禁用,计算机管理里面找到服务,服务里面找到TaskScheduler,看是否已被禁用,开启就行了。
具体操作是打开控制面板->管理工具->服务->找到TaskScheduler选项,启动类型选:
自动、服务状态选:
启动。
“已经创建新任务,但可能不能运行,因为无法设置帐户信息。
指定的错误是:
0x80070005:
拒绝访问。
请试着使用"任务"的浏览按钮来定位应用程序。
”
指定错误:
0x80070005:
拒绝访问,主要原因有如下几种。
1、登入Windows时使用空白密码的,应将组策略:
“帐户:
使用空白密码的本地帐户只允许进行控制台登录”改为“停用”就可以了。
具体操作是打开开始运行->输入gpedit.msc打开组策略->计算机配置->windows设置->安全设置->本地策略->安全选项看右边框内:
“帐户:
使用空白密码的本地帐户只允许进行控制台登录”改为“停用”,就可以了。
)
参数说明
-v,--verbose详细模式输出
-q,--quiet精简输出模式
-c,--checksum打开校验开关,强制对文件传输进行校验
-a,--archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r,--recursive对子目录以递归模式处理
-R,--relative使用相对路径信息
-b,--backup创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。
可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX定义备份文件前缀
-u,--update仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。
(不覆盖更新的文件)
-l,--links保留软链结
-L,--copy-links想对待常规文件一样处理软链结
--copy-unsafe-links仅仅拷贝指向SRC路径目录树以外的链结
--safe-links忽略指向SRC路径目录树以外的链结
-H,--hard-links保留硬链结 -p,--perms保持文件权限
-o,--owner保持文件属主信息 -g,--group保持文件属组信息
-D,--devices保持设备文件信息 -t,--times保持文件时间信息
-S,--sparse对稀疏文件进行特殊处理以节省DST的空间
-n,--dry-run现实哪些文件将被传输
-W,--whole-file拷贝文件,不进行增量检测
-x,--one-file-system不要跨越文件系统边界
-B,--block-size=SIZE检验算法使用的块尺寸,默认是700字节
-e,--rsh=COMMAND指定使用rsh、ssh方式进行数据同步
--rsync-path=PATH指定远程服务器上的rsync命令所在路径信息
-C,--cvs-exclude使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
--existing仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
--delete删除那些DST中SRC没有的文件
--delete-excluded同样删除接收端那些被该选项指定排除的文件
--delete-after传输结束以后再删除
--ignore-errors及时出现IO错误也进行删除
--max-delete=NUM最多删除NUM个文件
--partial保留那些因故没有完全传输的文件,以是加快随后的再次传输
--force强制删除目录,即使不为空
--numeric-ids不将数字的用户和组ID匹配为用户名和组名
--timeout=TIMEIP超时时间,单位为秒
-I,--ignore-times不跳过那些有同样的时间和长度的文件
--size-only当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
--modify-window=NUM决定文件是否时间相同时使用的时间戳窗口,默认为0
-T--temp-dir=DIR在DIR中创建临时文件
--compare-dest=DIR同样比较DIR中的文件来决定是否需要备份
-P等同于--partial
--progress显示备份过程
-z,--compress对备份的文件在传输时进行压缩处理
--exclude=PATTERN指定排除不需要传输的文件模式
--include=PATTERN指定不排除而需要传输的文件模式
--exclude-from=FILE排除FILE中指定模式的文件
--include-from=FILE不排除FILE指定模式匹配的文件
--version打印版本信息
--address绑定到特定的地址
--config=FILE指定其他的配置文件,不使用默认的rsyncd.conf文件
--port=PORT指定其他的rsync服务端口
--blocking-io对远程shell使用阻塞IO
-stats给出某些文件的传输状态
--progress在传输时现实传输过程
--log-format=formAT指定日志文件格式
--password-file=FILE从FILE中得到密码
--bwlimit=KBPS限制I/O带宽,KBytespersecond -h,--help显示帮助信息
参考资料
附件1:
一、windows与windows同步
1.准备两台机器:
server-----192.168.0.201
client-----192.168.0.202
2.下载windows版的rsync工具
具体软件下载链接我也忘了,不过在google应该可以搜索到。
我也将它上传到CU上……
文件:
cwRsync_2.0.10_Installer.zip
大小:
2953KB
下载:
下载
文件:
cwRsync_Server_2.0.10_Installer.zip
大小:
2821KB
下载:
下载
server端:
cwRsync_Server_2.0.10_Installer.zip
client端:
cwRsync_2.0.10_Installer.zip
3.安装与配置
SERVER:
(1)安装cwRsync_Server_2.0.10_Installer.zip
在开始程序中打开“startaunixbashshell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束
(2)启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它
(3)配置rsyncd.conf配置文件
编辑C:
\ProgramFiles\cwRsyncServer\rsyncd.conf,内容如下:
usechroot=false
strictmodes=false
hostsallow=*
logfile=rsyncd.log
pidfile=rsyncd.pid
#Moduledefinitions
#Remembercygwinnamingconventions:
c:
\workbecomes/cygwin/c/work
[rsync]
path=/cygdrive/f/rsync (此处路径代表f:
\rsync目录)
readonly=yes
transferlogging=yes
secretsfile=/cygdrive/f/rsyncd.secrets
(4)启动rsync服务
打开“控制面板”-->“管理工具”-->“服务”:
找到一个RsyncServer的服务,启动它
到此server端配置结束,接下来配置client端。
CLIENT:
(1)安装client端软件包:
cwRsync_2.0.10_Installer.zip
(2)打开cmd,执行如下操作,测试服务端是否正常启动服务了:
cdC:
\ProgramFiles\cwRsync\bin
telnet192.168.0.20122
telnet192.168.0.201873
若上述测试成功,此时可执行同步计划:
rsync-vzrtopg--progress--delete192.168.0.201:
:
rsync/cygdrive/d/test
或者是:
rsync-vzrtopg--progress--delete192.168.0.201:
/cygdrive/d/rsync/cygdrive/d/test
(此时,会提示输入密码,用户名为administrator,密码则为192.168.0.201的管理员登录密码)
至此,安装配置windows到windows间的同步已经OK
如果定时同步server上的文件,可将其加入任务计划中。
二、windows作为server时与linux间的同步
1、准备机器,此时使用windows作为server
server---192.168.0.201(windows)
client---192.168.0.132(linux)
2、经过上文的操作,此时可简化操作了
进入linux主机client同步server:
#rsync-vzrtopg--progress--delete192.168.0.201:
:
rsync/test
三、linux作为server时与windows间的同步
1、准备机器,此时使用linux作为server
server---192.168.0.132(linux)
client---192.168.0.202(windows)
2、安装与配置linux主机的rsync
(1)查看linux上是否安装rsync:
#rpm-qa|greprsync
若无则安装,或者使用tar编译安装
#rpm-ivhrsync-2.6.8-3.1.rpm
(2)打开rsync服务
#chkconfigxinetdon
#chkconfigrsyncon
(3)创建rsyncd.conf文件
#touch/etc/rsyncd.conf
#vi/etc/rsyncd.conf(内容如下:
)
uid=nobody
gid=nobody
maxconnections=4
[www]
path=/www
comment=BACKUPWWW
ignoreerrors
readonly=yes
list=no
authusers=wwwuser
hostsallow=192.168.0.202
secretsfile=/etc/wwwuser.pass
(4)启动基于xinetd进程的rsync服务
#/etc/init.d/xinetdstart
3、配置windows的rsync客户端
(1)安装client端的rsync包
(2)打开cmd,执行同步计划:
cdC:
\ProgramFiles\cwRsync\bin
rsync-vzrtopg--progress--deleteroot@192.168.0.132:
:
www/cygdrive/d/test
(此时须输入root用户的密码,就可进行同步了。
)
至此,全部配置完成。
注:
要使用加密的同步,可使用……
rsync-e'ssh-p2002'-vzrtopg--progress--deleteroot@192.168.0.132:
:
www/cygdrive/d/test
附件2
1.Install
[url]http:
//www.samba.org/rsync/[/url]
shell>tarzxvfrsync-x.x.x.tar.gz
shell>cdrsync-x.x.x
shell>./configure&&make&&makeinstall
目前大部分Unix/Linux默认即安装了rsync。
2./etc/rsyncd.conf
shell>touch/etc/rsyncd.conf
shell>vi/etc/rsyncd.conf
Edit/etc/rsyncd.confasbelow:
uid=nobody
gid=nobody
usechroot=no
maxconnections=5
pidfile=/var/run/rsync.pid
lockfile=/var/run/rsync.lock
logfile=/var/log/rsync.log
[
path=
ignoreerrors
readonly=no
list=yes
authusers=username
secretsfile=/etc/rsyncd.secrets
3./etc/rsync.secrets
shell>echo"jack:
password">>/etc/rsyncd.secrets
shell>chmod600/etc/rsyncd.secrets
*注:
一定要把rsyncd.secrets的权限设为600,否则不能正常进行身份认证。
包括--password-file指向的密码文件,也必须设成600权限。
4.Autorun
>>>Idea1-onlylinux<<<
shell>vi/etc/xinetd.d/rsync
setDISABLEtoyes,theresultlookslikethis:
servicersync
{
disable =no <----------changetoyes
socket_type =stream
wait =no
user =root
server =/usr/bin/rsync
server_args =--daemon
log_on_failure +=USERID
}
>>>Idea2-onopenSUSE<<<
shell>echo"/usr/local/bin/rsync--daemon">>/etc/init.d/boot.local
>>>Idea3<<<
shell>echo"/usr/local/bin/rsync--daemon">>/etc/rc.local
5.Rundaemon
shell>rsync--daemon
*注一:
在rsync的man手册的CONNECTINGTOANRSYNCSERVER处有提到:
Itisalsopossibletousersyncwithoutaremoteshellasthetransport.Inthiscaseyouw
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- rsync 实现 同步 linux windows 交互
![提示](https://static.bingdoc.com/images/bang_tan.gif)