




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux下rsync文件同步服务器配置详解摘要: rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备份,我们还可以把它作为不同主机网络备份工具之用。本文主要讲述的是如何自架rsync服务器,以实现文件传输、备份和镜像。相对tar和wget来说,rsync 也有其自身的优点,比如速度快、安全、高效。1 什么是rsync;rsync 是一个Unix系统下的文件同步和传输工具。rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法。rsync 包括如下的一些特性:能更新整个目录和树和文件系统;有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;对于安装来说,无任何特殊权限要求;对于多个文件来说,内部流水线减少文件等待的延时;能用rsh、ssh 或直接端口做为传输入端口;支持匿名rsync 同步文件,是理想的镜像工具;2 rsync 服务器的理由;rsync 服务器架设比较简单,可能我们安装好rsync后,并没有发现配置文件,以及rsync服务器启动程序,因为每个管理员可能对rsync 用途不一样,所以一般的发行版只是安装好软件就完事了,让管理员来根据自己的用途和方向来自己架设rsync服务器;因为这个rsync应用比较广,能在同一台主机进行备份工作,还能在不同主机之间进行工作。在不同主机之间的进行备份,是必须架设rsync 服务器的。以我的观点上看,如果在同一台主机进行文件的备分,用复制工具cp就好了。没必要用rsync 这么相对复杂的工具,cp也简单易用,当然这仅仅是个人观点;对于重量级服务器来说,应该有网络备份服务器来说,只有本地备份还是不够的,最好还是有网络备份主机,这样数据的安全才有保证。毕竟数据放在服务器本地上还是不太安全,比如磁盘坏掉、被骇客攻入服务器删除数据。其实服务器本身价值并不大,重要的是数据的价值。另外对于大量文件从一台服务器上迁移到另一台服务器上,rsync 的确是一个不可不用传输工具。公司有一台文件服务器,配置是CPU Intel Celeon 333Mhz,内存128M,硬盘IDE 80Gx3=240G,里面仅是第一个硬盘的12G的分区安装系统,用了256M做为交换分区,其它的空间我都用来存数据,通过LVM卷来管理磁盘空间,我分了一个 180G的空间给数据存放,当时数据存储容量已经达到了160多G。当时的情况是服务器空间有限,没做本地备份。更不可能新增硬盘上去,因为这台机器没做RAID,硬盘坏掉一个,数据会全毁掉,安全性没有一点保障。在这种情况下,为了保证数据的安全性,我被迫做了一台带有Raid5支持的文件服务器。在选择如何把数据文件完整的传输到新服务器上,我想到了很多的工具,最后想到了rsync 。我花了十分钟架设并调试了rsync ,然后就开工文件传输,因为文件服务器上的文件太多,老的文件服务器配置又低,大约花了两三天吧才得以把所有文件传输完毕。3 架设rsync服务器过程;架设rsync 服务器比较简单,写一个配置文件rsyncd.conf 。文件的书写也是有规则的,我们可以参照 上的文档来做;当然我们首先要安装好rsync 这个软件才行;3.1 rsync的安装;3.1.1查看服务器是否安装rsyncrootServer-B # rpm -qa| grep rsync #查看是否有rsync包rsync-2.6.8-3.1 现在Linux各大发行版都已安装好 rsync3.1.2安装rsync软件安装过于简单,现在Linux各大发行版都提供这个软件包,当然您也可以自己编译安装,在目前的情况下,我看没太大的必要;rootlinuxsir:beinan$ sudo apt-get install rsync 注:在debian、ubuntu 等在线安装方法;rootlinuxsir:beinan# slackpkg install rsync 注:Slackware 软件包在线安装;rootlinuxsir:beinan# yum install rsync 注:Fedora、Redhat 等系统安装方法;其它Linux发行版,请用相应的软件包管理方法来安装;如果是源码包,也就是用下面的办法;rootlinuxsir:/home/beinan# tar xvf sync-xxxx.tar.gz 或sync-xxx.tar.bz2rootlinuxsir:/home/beinan# cd sync-xxxrootlinuxsir:/home/beinan/sync-xxx# ./configure -prefix=/usr ;make ;make install 注:在用源码包编译安装之前,您得安装gcc等编译开具才行;3.1.3 rsync服务器的配置文件rsyncd.conf1、在服务器端配置(需要备份文件目录服务器上),建立/etc/rsyncd.conf和/etc/rsyncd.passwd 文件内容如下:Vi /etc/rsyncd.confuid=oraclegid=oinstallmax connections=36000use chroot=nolog file=/var/log/rsyncd.logpid file=/var/run/rsyncd.pidlock file=/var/run/rsyncd.lockhtdocscomment= backup htdocspath=/home/oracle/portal/ignore errorsread only = yeshost allow = 15host deny=*secrets file=/etc/rsyncd.passwdauth users=oraclevi /etc/rsyncd.passwdoracle:ci1234562、修改文件的权限chmod 600 /etc/rsyncd.confchmod 600 /etc/rsyncd.passwd3、运行rsyncrsync -daemon检查一下ps -ef|grep rsync 出现rootroot # ps -ef|grep rsync root 27319 1 0 15:51 ? 00:00:00 rsync -daemonnobody 27340 27319 2 15:55 ? 00:00:08 rsync -daemon说明服务运行正常4、客户端只需要编辑vi /etc/rsyncd.passwd输入ci123456,也就是密码要和服务器端设置的一样。修改文件的权限chmod 600 /etc/rsyncd.passwd5、下面就可以实验一下是否能够同步了:执行命令rsync -azP -delete oracle12:htdocs /data/portal -password-file=/etc/rsyncd.passwd运行正常开始往备份的目录写文件了。ckeditor/201201101540553134.jpg 2513091 100% 194.45kB/s 0:00:12 (xfer#180, to-check=7150/7381)ckeditor/201201101543239059.jpg 3027658 100% 224.20kB/s 0:00:13 (xfer#181, to-check=7149/7381)6、设置crontab进行定时任务 crontab -e增加10 2 * * * (rsync -azP -delete oracle13:htdocs /ci2013/portal -password-file=/etc/rsyncd.passwd)每天凌晨2:10开始进行增量备份。/etc/init.d/crond restart 重新开始运行计划任务。4 rsync.conf文件详解list = yes#允许访问目录列表max connections = 10#最大的连接数为10 log file = /var/log/rsyncd.log#存放日志文件的路径pid file = /var/run/rsyncd.pid#存放进程标识文件的路径hosts allow = /24#允许访问rsync 服务的地址范围htdocs#此为发布共享的模块名path = /data#共享模块的路径comment = Its my study data!#注释信息read only = yes#标识为可读ignore errors#忽略错误host allow = 15#允许同步文件的客户端IPhost deny=*#禁止同步文件的客户端IPauth users = oracle#授权的用户名secrets file = /etc/rsyncd.pass#授权用户的密码文件位置5 rsync命令的用法及参数在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。Rsync的命令格式可以为以下六种:rsync OPTION. SRC DESTrsync OPTION. SRC USERHOST:DESTrsync OPTION. USERHOST:SRC DESTrsync OPTION. USERHOST:SRC DESTrsync OPTION. SRC USERHOST:DESTrsync OPTION. rsync:/USERHOST:PORT/SRC DEST对应于以上六种命令格式,rsync有六种不同的工作模式:1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号:分隔符时就启动这种工作模式。如:rsync -a /data /backup2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号:分隔符时启动该模式。如:rsync -avz *.c foo:src3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号:分隔符时启动该模式。如:rsync -avz foo:src/bar /data4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含:分隔符时启动该模式。如:rsync -av root92:www /databack5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含:分隔符时启动该模式。如:rsync -av /databack root92:www6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync:/92/wwwrsync参数的具体解释如下:-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=TIME IP超时时间,单位为秒-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带宽,KBytes per second-h, -help 显示帮助信息一般都使用azv选项6 常见问题问题一: ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(1522) receiver=3.0.3 原因: 服务器端的目录不存在或无权限。创建目录并修正权限可解决问题。 问题二: ERROR: auth failed on module tee rsync error: error starting client-server protocol (code 5) at main.c(1522) receiver=3.0.3 原因: 服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。提供正确的用户名密码解决此问题。 问题三: ERROR: Unknown module tee_nonexists rsync error: error starting client-server protocol (code 5) at main.c(1522) receiver=3.0.3 原因: 服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。 问题四: password file must not be other-accessible continuing without password file Password: 原因: 这是因为rsyncd.pwd rsyncd.secrets的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd 问题五: rsync: failed to connect to : No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(104) receiver=2.6.9 原因: 对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。关闭防火墙,其实就是把tcp udp的873端口打开。 问题六: rsync error: error starting client-server protocol (code 5) at main.c(1524) Receiver=3.0.7 原因: /etc/rsyncd.conf配置文件内容有错误。请正确核对配置文件。 问题七: rsync: chown failed: Invalid argument (22) 原因: 权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候) 问题八: ERROR: daemon security issue - contact admin rsync error: error starting client-server protocol (code 5) at main.c(1530) sender=3.0.6 原因: 同步的目录里面有软连接文件,需要服务器端的/etc/rsyncd.conf打开use chroot = yes。掠过软连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市2025年中考地理真题及答案
- 2025年中国紧凑无线真空吸尘器行业市场全景分析及前景机遇研判报告
- 2025年中国金融保险行业人工智能行业市场全景分析及前景机遇研判报告
- 合肥java培训课件
- 2025年中国种用裸大麦行业市场评估分析及投资发展盈利预测报告
- 中国铝金迷你气缸行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 2025年 钳工技师职业资格考试试题附答案
- 音响发光式电压检测器行业深度研究分析报告(2024-2030版)
- 吉林省智能晾衣架项目可行性研究报告范文
- 2025年中国路径行业市场发展前景及发展趋势与投资战略研究报告
- 《陕西风土人情》课件
- 消防安全管理制度应急预案
- 2024年销售返佣协议模板文件
- ASTM-D3359-(附著力测试标准)-中文版
- 农药市场专项整治活动实施方案
- 户外田园早教课程设计
- 儿科危重症护理习题题库含答案
- DL∕T 5138-2014 电力工程数字摄影测量规程
- DL∕T 550-2014 地区电网调度控制系统技术规范
- 2022-2023学年湖北省随州市曾都区人教PEP版五年级下册期末学业质量监测英语试卷
- 钢结构施工合同范本
评论
0/150
提交评论