rsync远程同步的基本配置与使用

文章目录

[隐藏]

  • 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::共享名

例:[email protected]::wwwroot

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

Rsync -avz [email protected]::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/  [email protected]::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查看是否自动同步

原文出处:cnblogs -> https://www.cnblogs.com/L2366/p/9399608.html

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » rsync远程同步的基本配置与使用