Rsync(二十七)

这篇具有很好参考价值的文章主要介绍了Rsync(二十七)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、概述

二、特性

三、应用场景

四、数据的同步方式

五、rsync传输模式

六、rsync应用

七、rsync 命令

1. 格式

 1.1 作为远程命令

 1. 2 作为rsync服务

2. 选项

3. 配置文件

 3.1  全局配置

           3.2   模块配置

4. 守护进程传输

4.1 配置

4.2 创建用户

4.3 创建认证用户的密码

4.4 准备模块目录

4.5 重启服务

4.6 客户端远程传输

4.7 通过密码文件实现免密传输

八、 rsync+inotfy实时同步

1. 服务器端

2.开发客户端

2.1 安装inotify工具

2.2  配置内核参数

2.3 命令

2.4 编写脚本

2.5 赋予执行权限

2.6  写入文件

总结



前言

今天学习的是rsync ,也是不用安装,直接用的服务,内容比较简单,我们一起来看看今天的内容吧!


提示:以下是本篇文章正文内容,下面案例可供参考

一、概述

    rsync是linux 下一个远程数据同步工具
    他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输
    会对比两个文件的不同部分,传输差异部分,因此传输速度相当快
    rsync可拷贝、显示目录属性,以及拷贝文件,并选择性的压缩及递归拷贝

二、特性

快速
        第一次传输全部,下一次传输差异
        rsync在传输过程中可以实行压缩和解压缩,使用更少的带宽
安全
        可以使用scp、ssh等方式传输
        直接通过socket连接
        支持匿名传输、方便进行网站镜像

三、应用场景

    增量同步
    备份迁移

四、数据的同步方式

    数据备份:拉取(下载)
        pull
    数据恢复:推送(上传)
        push

五、rsync传输模式

    本地传输
        本地同步数据,类似于cp
    远程传输
        远程同步数据,类似于scp
    守护进程
        通过模块化的方式实现批量传输

六、rsync应用

 安装
        yum -y install rsync
            如果已经安装,直接启动

启动
        systemctl start rsyncd
监听端口号
        TCP/873

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

七、rsync 命令

1. 格式

  rsync [选项] 原始位置 目标位置

 1.1 作为远程命令

  拉取
            rsync [OPTION...] [USER@]HOST:SRC... [DEST]
  推送
            rsync [OPTION...] SRC... [USER@]HOST:DEST


 1. 2 作为rsync服务

 拉取
            rsync [OPTION...] [USER@]HOST::SRC... [DEST]
            rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
 推送
            rsync [OPTION...] SRC... [USER@]HOST::DEST
            rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

2. 选项

    -a
        归档模式,递归并保留对象属性,等同于-rlptgoD
    -v
        -verbose           显示同步过程的详细信息
    -z
        在传输文件时进行压缩

举例
    本地
        rsync  -avz  abc/  /opt
        rsync  -avz  /abc  /opt
    远程
        rsync -avz root@192.168.2.7:/etc/hostname  /root/
        rsync -avz  /root/hostname root@192.168.2.7:/etc/hostname 

3. 配置文件

/etc/rsyncd.conf


 3.1  全局配置

address  独立运行时,用于指定服务器运行的 IP 地址,默认本地所有IP
port 指定 rsync 守护进程监听的端口号,默认 873
 pid file rsync 的守护进程将其 PID 写入指定的文件
log file   指定 rsync 守护进程的日志文件,而不将日志发送给 syslog
syslog facility 指定 rsync 发送日志消息给 syslog 时的消息级别
socket options 指定自定义 TCP 选项
 lockfile 指定rsync的锁文件存放路径
 timeout  超时时间

        
  3.2   模块配置

 path 指定当前模块的同步路径,该参数是必须指定的
comment 给模块指定一个描述
use chroot   在服务运行时要不要把他锁定在家目录,默认为 true
uid和gid  指定rsync运行用户和用户组,默认nobody
max connections 最大并发连接数,0为不限制
 lock file   指定支持 max connections的锁文件。默认/var/run/rsyncd.lock
 list   指定列出模块列表时,该模块是否被列出。默认为 true
read only    只读选择,默认true
write only   只写选择,不让客户端从服务器上下载文件。默认false
 ignore errors 忽略IO错误,默认true
 ignore nonreadable   指定 rysnc 服务器完全忽略那些用户没有访问权限的文件。
dont compress 用来指定那些在传输之前不进行压缩处理的文件。
hosts allow  指定哪些主机客户允许连接该模块。默认值为 *
 hosts deny  指定哪些主机客户不允许连接该模块
 auth users  指定用于上传的用户名
 secrets files 指定密码文件

4. 守护进程传输

4.1 配置

    uid=rsync
    gid=rsync
    fake super=yes     # 用于允许非root用户,在备份目录创建文件
    list=false              # 默认true,允许查看本机有哪些模块
    auth users=rsync_backup  # 用于指定认证用户
    secrets file=/etc/rsync.passwd  # 指定认证用户密码
    read only = false
    max connections=4                 # 允许最大连接数
    read only=false                       # 默认yes,模块目录只读权限
    ignore errors                          # 屏蔽错误报错
    timeout=900                          # 指定rsync传输超时时间
    [backup]
    path=/backup

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

 4.2 创建用户

   useradd rsync -s /sbin/nologin -M          
     Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

 4.3 创建认证用户的密码


    echo 'rsync_backup:123456' >/etc/rsync.passwd
    chmod 600 /etc/rsync.passwd   

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

  4.4 准备模块目录

    mkdir /backup
    chown rsync.rsync /backup   

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

4.5 重启服务

systemctl restart rsyncd

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

4.6 客户端远程传输

rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

服务端查看

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

4.7 通过密码文件实现免密传输

   vim /etc/rsync.passwd
        123456
    chmod   600 /etc/rsync.passwd
    rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup --password-file /etc/rsync.passwd

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

 练习
    1、使用认证用户为jx_名字缩写,认证密码为班级编号
    2、模块名称为juexing
    3、客户端创建文件user.txt,内容为所有的用户信息
    4、自行修改文件内容,在服务器上实现同步

服务端 

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

客户端

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

 服务端查看

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

八、 rsync+inotfy实时同步

1. 服务器端

  安装网站服务,启动,但是不写首页文件
    修改主配置文件
        uid = root
        gid = root
        [wwwroot]
    path = /var/www/html
    comment = backup export area
    read only = false
    hosts allow = 192.168.1.0/24

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

2.开发客户端

2.1 安装inotify工具

        inotify-tools
        tar xf  inotify-tools-3.14.tar.gz
        ./configure && make && make install

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

2.2  配置内核参数

vim /etc/sysctl.conf
        fs.inotify.max_user_instances = 1024
        fs.inotify.max_queued_events = 16384
        fs.inotify.max_user_watches=1048576
        sysctl -P

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

2.3 命令

inotifywait -mrq -e modify,create,move,delete /var/www/html

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

客户端上传

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

 服务端查看

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算
  2.4 编写脚本 

 vim /opt/inotify_rsync.sh
        #!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"
RSYNC_CMD="rsync -azH --delete  /var/www/html/192.168.115.130::wwwroot"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
$RSYNC_CMD 
done

服务端

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

2.5 赋予执行权限

 chmod +x inotify_rsync.sh

2.6  写入文件

   vim /etc/rc.local
            /root/inotify_rsync.sh

客户端 Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

 服务端

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算

Rsync(二十七),lq 云计算运维学习,linux,运维,云计算


总结

以上就是今天要讲的内容,本文仅仅简单介绍了rsync 的概念、用途及使用方法,需要我们动手操作起来,所以,要好好联系哦!文章来源地址https://www.toymoban.com/news/detail-590808.html

到了这里,关于Rsync(二十七)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从零开始学习JAVA | 第二十七篇】JAVA期末练习(PTA)

    目录 前言: R7-5 Count the letters in a string (统计字符串中的字符) R7-1 找素数 R7-3 电话号码同步(Java) 总结:         临近期末,我也更新一下PTA上的JAVA大题,希望各位都可以考出一个好的成绩。 (Count the letters in a string) (统计字符串中的字符) Write a method that counts th

    2024年02月16日
    浏览(65)
  • Ubuntu 20.04.06 PCL C++学习记录(二十七)【附所用点云】

    @[TOC]PCL中点云配准模块的学习 参考书籍:《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,,PCL版本为1.10.0,CMake版本为3.16,可用点云下载地址 使用正态分布算法来确定两个大型点云之间的刚体变换,正态分布变换算法是一个配准算法,它应用于三维点的统计模型,

    2024年04月27日
    浏览(88)
  • 从零开始学习 Java:简单易懂的入门指南之Stream流(二十七)

    1.体验Stream流 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素 把集合中所有以\\\"张\\\"开头的元素存储到一个新的集合 把\\\"张\\\"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得到的集合 原始方式示例代码 使用Stream流示例代码

    2024年02月08日
    浏览(47)
  • 学习笔记二十七:K8S控制器Statefulset入门到企业实战应用

    用于管理有状态应用程序的部署。与无状态应用程序不同,有状态应用程序在运行时通常要求稳定的网络标识和持久性存储。 有状态服务:StatefulSet是有状态的集合,管理有状态的服务,它所管理的Pod的名称不能随意变化。数据持久化的目录也是不一样,每一个Pod都有自己独

    2024年02月06日
    浏览(52)
  • 系统学习Linux-Rsync远程数据同步服务(三)

    rsync是linux 下一个远程数据同步工具 他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输 会对比两个文件的不同部分,传输差异部分,因此传输速度相当快 rsync可拷贝、显示目录属性,以及拷贝文件,并选择性的压缩及递归拷贝 快速 第一次

    2024年02月16日
    浏览(32)
  • MySQL变量(二十七)

    二八佳人体似酥,腰悬利剑斩愚夫,虽然不见人头落,暗里教君骨髓枯。 上一章简单介绍了 MySQL触发器(二十六) ,如果没有看过,请观看上一章 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。 在 MySQL 数据库中,变

    2024年02月14日
    浏览(40)
  • 二十七、数据可视化

    借助图形来清晰有效表达信息的方式成为可视化,可视化可以帮助我们更好地传递信息。 数据可视化的基础还是数据,要将数据图表化,首先要整理数据,明确要把哪些数据图表化。 知道了要把哪些数据数据图表化以后,就需要明确目的,可视化是用来表达信息的一种方式

    2024年02月16日
    浏览(44)
  • 实验二十七 IPSec配置

    某公司由总部和分支机构构成,通过IPsec实验网络安全,保证总部和分支机构的局域 网安全通信。 IPSec(IP Security)是IETF定义的一组协议,用于增强IP网络的安全性 。 IPsec的功能可以划分为三类:认证头(AH)、封装安全负荷(ESP)、Internet密钥交换协议(IKE)。 1、认证头AH:提供了数据

    2024年02月07日
    浏览(48)
  • OpenCV(二十七):图像距离变换

    1.像素间距离 2.距离变换函数distanceTransform() void cv::distanceTransform ( InputArray  src, OutputArray dst, int   distanceType, int    maskSize, int     dstType = CV_32F ) src:输入图像,数据类型为CV8U的单通道图像 dst:输出图像,与输入图像具有相同的尺寸,数据类型为CV_8U或者CV_32F的单通道图像d

    2024年02月09日
    浏览(41)
  • Python入门(二十七)测试(二)

    前面我们编写了针对单个函数的测试,下面来编写针对类的测试。很多程序中都会用到类,因此证明我们的类能够正确工作大有裨益。如果针对类的测试通过了,我们就能确信对类所做的改进没有意外地破坏其原有的行为。 Python在unittest.TestCase类中提供了很多断言方法。前面

    2024年02月10日
    浏览(85)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包