Linux运维知识之rsync远程同步的基本配置与使用
小标 2019-03-15 来源 : 阅读 858 评论 0

摘要:本文主要向大家介绍了Linux运维知识之rsync远程同步的基本配置与使用,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之rsync远程同步的基本配置与使用,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

Linux运维知识之rsync远程同步的基本配置与使用

rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用。


rsync的官方站点是http://rsync.samba.org/,目前最新版本是3.1.1,由Wanyne Davison进行维护。作为一种最常用的文件备份工具,rsync往往是Linux和UNIX系统默认安装的基本组件之一。


1、rsync:快速增量备份工具,实现远程同步,可使用ssh和rsync备份


rsync服务器:备份源,提供一个目录供客户端上传或下载


2、rsync的配置:


建立rsync的配置文件:/etc/rsyncd.conf


use  chroot=yes             禁锢在源地址

port  837                   默认端口号为873

pid  file                     进程号文件位置

hosts  allow                 允许访问客户机地址

[wwwroot]                   共享名

path=/路径                   真正的文件夹位置

comment=                  描述

read  only=yes|no              只读|读写

auth  users=用户名            认证的用户

secrets  file=文件名路径          验证文件


验证文件格式:    用户名:密码


权限必须设置为600


3、管理rsync服务:


启动:rsync  –daemon


停止:kill  进程号


4、rsync的使用


格式:rsync  选项  原始位置  目标位置


选项:


-a:归档模式,等同于 -rlptgoD


-r:递归,包含目录


-p:权限(保留权限)


-t:时间


-z:压缩


-v:同步过程信息


–delete:删除目标位置有而原始位置没有的文件


5、备份源(服务器端)的表达方式:


1)用户名@服务器IP::共享名


例:benet@192.168.1.100::wwwroot


2)rsync://用户名@服务器IP/共享名


Rsync  -avz  benet@192.168.1.100::wwwroot /root


6、实现免交互模式:


1)创建密码文件并设置权限为600


2)同步时使用   --password-file=文件名    的方式指定文件位置


7、实时同步:有变化则备份,无变化不备份


通过inotify机制实现,实时监控本地文件系统目录的变化,并作出通知响应,适当调整监控文件数量


inotify-tools辅助工具,有两个命令:


inotifywait:持续监控,实时输出结果


inotifywatch:短期监控,完成后输出结果


格式:inotifywait  -mrq  -e  监控事件类型  /监控目标


-m:持续监控         -r:监控整个目录


-q:简化输出          -e:监控事件类型


类型有:modify(修改)    create(创建)    move(移动)


delete(删除)     attrib(属性更改)


以上便是rsync的基本使用方法了,rsync远程同步实验案例请关注微信公众号 L宝宝聊IT 浏览“rsync远程同步示例”文章进行查阅。


rsync远程同步示例


实验要求:


(1)如图所示,搭建网络,配置地址。


(2)在1.10服务器上配置为服务端,修改rsync的配置文件/etc/rsyncd.conf,并启动rsync服务程序。


(3)在1.20上使用rsync命令验证是否能够从服务端(/var/www/html)下载文件到客户机端(/myweb)。


(4)修改rsync的配置文件/etc/rsyncd.conf,实现客户机端(/myweb)能上传文件到服务端的(/var/www/html)位置。在客户机端验证。


(5)在1.20上实现每天晚上22:00对服务器的网站目录(/var/www/html)做一次同步。


(6)在1.20上配置rsync+inotify实时同步。通过编写脚本来实现,客户机能够实时上传文件到服务端。注意:需要安装inotify软件。


步骤:


1、  按照要求配置IP地址,实现可以互相ping通。


2、为备份账户创建数据文件(vim  /etc/rsyncd_users.db)并赋予权限。


3、修改1.10服务器端的rsync配置文件/etc/rsyncd.conf,并启动rsync服务程序。(启动rsync服务:rsync  –daemon)


4、使用1.20客户机测试能够从服务器端下载文件到/myweb


1)  在1.10的/var/www/html目录下创建一个文件。


2)在1.20客户机端创建目录/myweb,并同步下载服务器端的文件


3)  在客户机/myweb目录下查看是否同步,


5、修改rsync的配置文件/etc/rsyncd.conf,实现客户机端(/myweb)能上传文件到服务端的(/var/www/html)位置。在客户机端验证。


1)进入/etc/rsyncd.conf配置文件并修改。


2)重启rsync服务,需要先杀死再启动


keill $(cat  /var/run/rsyncd.pid)

rsync --daemon


3)赋予/var/www/html目录相应的权限


4) 在客户机端/myweb目录下创建一个文件并验证是否能上传同步到服务器端。


5)到服务器端查看


6、在1.20上实现每天晚上22:00对服务器的网站目录(/var/www/html)做一次同步。


1)  创建一个zhangsan用户的密码文件/etc/server.pass,并赋予权限


2)创建计划任务,crontab  -e ,并启动


00        22  *  *  *  /usr/bin/rsync  -az --delete  --password-file=/etc/server.pass  /myweb/  zhangsan@192.168.1.10::wwwroot


7、在1.20上配置rsync+inotify实时同步。通过编写脚本来实现,客户机能够实时上传文件到服务端。


1)配置/etc/sysctl.conf ,调整inotify内核参数


sysctl -p运行一下


3)安装inotify-tools


4)编写脚本vim  /opt/test.sh


赋予脚本执行权限并执行


chmod +x  /opt/test.sh


5)在打开一个控制台在客户机端/myweb下创建一个文件并到服务器端/var/www/html查看是否自动同步


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程