zoukankan      html  css  js  c++  java
  • 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查看是否自动同步

    文档参考微信公众号:L宝宝聊IT

    作者:L宝宝

    -------------------------------------------

    个性签名:千里之行,始于足下

    如果觉得这篇文章对你有帮助的话,就关注分享一下呗!

  • 相关阅读:
    jMeter 里 CSV Data Set Config Sharing Mode 的含义详解
    如何使用 jMeter Parallel Controller
    使用 Chrome 开发者工具 coverage 功能分析 web 应用的渲染阻止资源的执行分布情况
    使用 Chrome 开发者工具的 lighthouse 功能分析 web 应用的性能问题
    关于 SAP 电商云首页加载时触发的 OCC API 请求
    SAP UI5 确保控件 id 全局唯一的实现方法
    SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
    介绍一个好用的能让网页变成黑色背景的护眼 Chrome 扩展应用
    Chrome 开发者工具 performance 标签页的用法
    Client Side Cache 和 Server Side Cache 的区别
  • 原文地址:https://www.cnblogs.com/lydongbk/p/9399608.html
Copyright © 2011-2022 走看看