rsync远程同步_第1页
rsync远程同步_第2页
rsync远程同步_第3页
rsync远程同步_第4页
rsync远程同步_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章第六章 rsync远程同步远程同步 理论部分rsync远程同步如何创建一个软RAID磁盘阵列?如何创建iSCSI对象、划分LUN空间?在客户机中如何发现、挂载iSCSI存储设备?课程回顾学会配置rsync备份源学会rsync下行、上行异地备份学会rsync+inotify实时备份技能展示本章结构rsync远程同步远程同步上行、下行同步操作上行、下行同步操作编写编写rsync备份脚本备份脚本配置配置SSH备份源备份源配置配置rsync备份源备份源配置配置rsync源服务器源服务器使用使用rsync备份工具备份工具配置配置inotify实时同步实时同步rsync+inotify结合使用结合使

2、用一款快速增量备份工具Remote Sync,远程同步支持本地复制,或者与其他SSH、rsync主机同步官方网站:/关于rsyncrsync同步源指备份操作的远程服务器,也称为备份源主要包括两种:rsync源、SSH源配置rsync源服务器 服务器服务器A A(rsync或SSH,同步源)上行同步(上传)服务器服务器B BAAAA(rsync客户机,发起端)InternetInternet下行同步(下载)基本思路启用sshd服务,并分别建立上传、下载用户为需要同步的目录设置访问权限应用示例用户rget、rput,分别可下载、上传操作的目录为 /var/

3、www/html/Nginx服务对 /upload/ 子目录有写入权限配置SSH源2-1文件和目录ACLmount参数:acl、noacl主要管理工具:setfacl、getfacl配置SSH源2-2rootlocalhost # chown -R rput:rput /var/www/htmlrootlocalhost # setfacl -R -m user:nginx:rwx /var/www/html/uploadrootlocalhost # setfacl -m default:user:nginx:rwx /var/www/html/uploadrootlocalhost # l

4、s -ld /var/www/html/ /var/www/html/upload/drwxr-xr-x 3 rput rput 4096 11月 29 01:35 /var/www/html/drwxrwxr-x+ 2 rput rput 4096 11月 29 01:35 /var/www/html/upload/递归添加递归添加ACLACL条目条目为目录设置默认为目录设置默认ACLACLrootlocalhost # getfacl /var/www/html/upload/user:rwxuser:nginx:rwxdefault:user:rwxdefault:user:nginx:

5、rwxrootlocalhost # setfacl -R -b /var/www/html/upload/清除所有清除所有ACLACL条目,条目,改用改用“-x user:.-x user:.”可只删除指定可只删除指定ACLACL条目条目新添加的新添加的ACLACL权限控制权限控制基本思路建立rsyncd.conf配置文件、独立的账号文件启用rsync的-daemon模式应用示例用户backuper,允许下行同步操作的目录为 /var/www/html/配置rsync源3-1配置文件rsyncd.conf需手动建立,语法类似于Samba配置认证配置auth users、secrets fil

6、e,不加则为匿名rsync账号文件采用“用户名:密码”的记录格式独立的账号数据,不依赖于系统账号配置rsync源3-2rootlocalhost # vi /etc/rsyncd_users.dbbackuper:pwd123othername:123456rootlocalhost # chmod 600 /etc/rsyncd_users.db每行一个用户记录每行一个用户记录rootlocalhost # vi /etc/rsyncd.confuid = nobodygid = nobodyuse chroot = yesaddress = port 873log f

7、ile = /var/log/rsyncd.logpid file = /var/run/rsyncd.pidhosts allow = /24wwwroot path = /var/www/html comment = Document Root of read only = yes dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z auth users = backuper secrets file = /etc/rsyncd_users.db允许访问的客户机地址允许访问的客户机地址同步时不再压缩的文件同步时不再压缩的文

8、件用户认证信息用户认证信息启用rsync服务通过-daemon独自提供服务或者,通过超级服务器xinetd提供服务配置rsync源3-3rootlocalhost # rsync -daemon rootlocalhost # netstat -anpt | grep rsynctcp 0 0 00:873 :* LISTEN 21182/rsyncrootlocalhost # kill $(cat /var/run/rsyncd.pid)rsyncrsync服务的服务的PIDPID文件文件rootlocalhost # vi /etc/xinetd.d/

9、rsyncservice rsync disable = no server = /usr/bin/rsync server_args = -daemon log_on_failure += USERIDrootlocalhost # yum -y install xinetdrootlocalhost # service xinetd start启用启用xinetdxinetd即自动接管即自动接管rsyncrsync服务服务rsync命令的用法基本格式:rsync 选项 原始位置 目标位置常用选项:n-a:归档模式,递归并保留对象属性,等同于 -rlptgoDn-v:显示同步过程的详细(ve

10、rbose)信息n-z:在传输文件时进行压缩(compress)n-H:保留硬连接文件n-A:保留ACL属性信息n-delete:删除目标位置有而原始位置没有的文件n-checksum:根据对象的校验和来决定是否跳过文件使用rsync备份工具3-1-r-r:递归模式,包含目录及子目录中所有文件:递归模式,包含目录及子目录中所有文件-l-l:对于符号链接文件仍然复制为符号链接文件:对于符号链接文件仍然复制为符号链接文件-p-p:保留文件的权限标记:保留文件的权限标记-t-t:保留文件的时间标记:保留文件的时间标记-g-g:保留文件的属组标记(仅超级用户使用):保留文件的属组标记(仅超级用户使用)

11、-o-o:保留文件的属主标记(仅超级用户使用):保留文件的属主标记(仅超级用户使用)-D-D:保留设备文件及其他特殊文件:保留设备文件及其他特殊文件备份操作类型本地同步nrsync . 本地目录1 本地目录2rsync+ssh同步nrsync . SSH源 本地目录nrsync . 本地目录 SSH源rsync+rsync同步nrsync . rsync源 本地目录nrsync . 本地目录 rsync源使用rsync备份工具3-2下行同步(下载)下行同步(下载)上行同步(上传)上行同步(上传)rsync同步操作示例下行SSH源:/var/www/html /wwwroot 下行rsync源:

12、wwwroot共享 /myweb上行SSH源:/usr/./HTML/zh_CN /var/www/html使用rsync备份工具3-3rootlocalhost # mkdir /wwwrootrootlocalhost # rsync -avzH -delete rget:/var/www/html/ /wwwrootrgets password:receiving incremental file listcreated directory /wwwroothtml/html/index.htmlhtml/style/验证验证SSHSSH用户用

13、户rgetrget的密码的密码rootlocalhost # mkdir /mywebrootlocalhost # rsync -avzH -delete backuper:wwwroot /mywebPassword:receiving incremental file list./index.htmlindex.php验证验证rsyncrsync用户用户backuperbackuper的密码的密码rootlocalhost # cd /usr/share/doc/HTML/rootlocalhost HTML# rsync -rlvz -delete zh-CN/

14、rput:/var/www/htmlrputs password:sending incremental file listdeleting index.phpfeedback.htmlindex.htmlcommon/common/RHEL6_720 x60.png验证验证SSHSSH用户用户rputrput的密码的密码请思考:如何配置可匿名访问的rsync服务器?根据源的不同,rsync的备份操作有哪几种类型?使用rsync命令时,SSH源、rsync源分别如何表示?小结SSH源的免交互处理采用SSH密钥对验证,将密钥短语设为空rsync脚本的交

15、互处理2-1rootlocalhost # ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root

16、/.ssh/id_rsa.pub.rootlocalhost # ssh-copy-id rgetrgets password:直接回车设为空串直接回车设为空串将公钥分发至远程服务器将公钥分发至远程服务器rsync源的免交互处理设置环境变量:RSYNC_PASSWORD或者,使用 -password-file= 选项调用密码文件rsync脚本的交互处理2-2rootlocalhost # vi /root/rsync_get_wwwroot.sh#!/bin/bashCMD=/usr/bin/rsyncRSYNC_USER=backuperRSYNC

17、_PASSWROD=pwd123ARGS=-az -deleteSRC=:wwwrootDST=/wwwrootmkdir -p $DST$CMD $ARGS $RSYNC_USER$SRC $DST自动读取密码,免除交互自动读取密码,免除交互定期同步的不足执行备份的时间固定,延迟明显、实时性差当同步源长期不变化时,密集的定期任务是不必要的实时同步的优点一旦同步源出现变化,立即启动备份只要同步源无变化,则不执行备份rsync实时同步Linux内核的inotify机制从版本2.6.13开始提供可以监控文件系统的变动情况,并作出通知响应辅助软件:inotify-tools关于

18、inotify 服务器服务器A A(rsync或SSH,备份源)上行同步(上传)服务器服务器B BAAAA(rsync客户机,发起端)InternetInternetinotify触发本地文件系统调整inotify内核参数max_queue_events:监控队列大小max_user_instances:最多监控实例数max_user_watches:每个实例最多监控文件数rsync+inotify实时同步3-1rootlocalhost # vi /etc/sysctl.conffs.inotify.max_queued_events = 16384fs.inotify.max_user_i

19、nstances = 1024fs.inotify.max_user_watches = 1048576rootlocalhost # sysctl -p应大于监控目标的总文件数应大于监控目标的总文件数安装inotify-tools辅助工具inotifywait:用于持续监控,实时输出结果inotifywatch:用于短期监控,任务完成后再出结果rsync+inotify实时同步3-2rootlocalhost # inotifywait -mrq -e modify,create,move,delete /var/www/htmlSetting up watches. Beware: sin

20、ce -r was given, this may take a while!Watches established./var/www/html/ CREATE index.php/var/www/html/ MODIFY index.php/var/www/html/ MOVED_FROM index.php/var/www/html/ MOVED_TO test.php-m-m,持续进行监控,持续进行监控-r-r,递归监控所有子对象,递归监控所有子对象-q-q,简化输出信息,简化输出信息-e-e,指定要监控哪些事件类型,指定要监控哪些事件类型通过inotifywait触发rsync同步操作

21、使用while、read持续获取监控结果根据结果可以作进一步判断,决定执行何种操作rsync+inotify实时同步3-3rootlocalhost # vi /opt/inotify_rsync.sh#!/bin/bashINOTIFY_CMD=inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/RSYNC_CMD=rsync -azH -delete /var/www/html/ rput:/var/www/html$INOTIFY_CMD | while read DIRECTORY EVENT FILEdo if $(pgrep rsync | wc -l) -le 0 ; then $RSYNC_CMD fidone读取输出的监控记录读取输出的监控记录如果如果rsyncrsync未

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论