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

rsync远程同步的基本配置与使用的更多相关文章

  1. rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份

    rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步 作用:做数据备份 备份方式:      完全备份      增量备份 ...

  2. rsync数据同步工具的配置

    rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...

  3. Rsync远程同步工具使用

    rsync远程同步工具使用 Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件.Rsync的好处是只 ...

  4. hadoop(六)rsync远程同步|xsync集群分发(完全分布式准备三)|8

    前置环境准备:centos7克隆ip|机器名|映射关系|别名配置(hadoop完全分布式准备一)scp命令copy文件和配置(hadoop完全分布式准备二) rsync远程同步工具 优点 rsync主 ...

  5. rsync 远程同步部署——上下行同步

    rsync 远程同步部署--上下行同步 1.rsync (Remote Sync,远程同步) : 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用 ...

  6. rsync远程同步

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

  7. linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录

    最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都 ...

  8. Linux rsync 远程同步部署篇

    rsync官网: www.samba.org/ftp/rsync.html端口:873上机实战系列项目100台规模集群全网数据备份解决方案3.本项目提供免费实战讲解视频:Linux集群全网服务器数据备 ...

  9. CentOS6.5使用rsync远程同步

    需达成目标:在服务器(192.168.18.211)端搭建 rsync 服务,       将 /root/rsync-server/ 目录同步到客户端 /root/rsync-local 目录 Li ...

随机推荐

  1. SQL 必知必会·笔记<20>高级SQL特性

    1. 约束 约束(constraint)就是管理如何插入或处理数据库数据的规则.DBMS通过在数据库表上施加约束来实施引用完整性. 1.1 主键 主键是一种特殊的约束,用来保证一列(或一组列)中的值是 ...

  2. Makefile.am文件配置

    Makefile.am Makefile.am是一种比Makefile更高层次的编译规则,可以和configure.in文件一起通过调用automake命令,生成Makefile.in文件,再调用./ ...

  3. win32编程简介

    win32编程简介 复习Win32整理下知识. 为什么学习win32? 我们要编写windos程序.都离不开API. 也就是我们所说的win32程序. 所以学好win32是你能不能再windows下编 ...

  4. php实现猴子选大王

    function getKing($n,$m) { $arr = range(1,$n); $i = 0; while(count($arr) > 1) { if(($i+1) % $m == ...

  5. Hyperledger Fabric密码模块系列之BCCSP(四)

    前面说过要找时间介绍一下bccsp包下面的工厂factory,so here it is. 通过factory目前可以获得两类BCCSP实例,一个是上文说的sw,还有一个是通过pkcs11实现的. B ...

  6. 深入浅出 JVM GC(2)

    # 前言 在 深入浅出 JVM GC(1) 中,限于上篇文章的篇幅,我们留下了一个问题 : 如何回收? 这篇文章将重点讲述这个问题. 在上篇文章中,我们也列出了一些大纲,今天我们就按照那个大纲来逐个讲 ...

  7. [转]window7下利用DockerToolbox安装Docker

    本文转自:https://blog.csdn.net/qq2712193/article/details/54576313 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

  8. .Net Core 简单定时任务框架封装

    有段日子没有更新,写点东西冒个泡 .这篇文章过来讲个小东西,也是大家在日常开发中也经常需要面临的问题:后台定时任务处理.估计大家看到这句就已经联想到 QuartZ 等类似第三方类库了,不好意思,后边的 ...

  9. ubuntu16.04LTS更换阿里源

    ubuntu16.04LTS更换阿里源 sudo gedit /etc/apt/sources.list 替换:    # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xe ...

  10. Rarely executed and almost empty if statement drastically reduces performance in C++

    Question: Editor's clarification: When this was originally posted, there were two issues: Test perfo ...