系统学习Linux-Rsync远程数据同步服务(三)

news2024/12/28 9:13:23

一、概述

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命令

格式

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

作为远程命令

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

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

作为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

选项

-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 

配置文件

/etc/rsyncd.conf

全局配置

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

模块配置

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指定密码文件

守护进程传输

配置

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

创建用户  

useradd rsync -s /sbin/nologin -M

创建认证用户的密码

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

chmod 600 /etc/rsync.passwd

准备模块目录

mkdir /backup

chown rsync.rsync /backup

重启服务

systemctl restart rsyncd

客户端远程传输

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

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

vim /etc/rsync.passwd

chmod   600 /etc/rsync.passwd

rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup --password-file /etc/rsync.passwd

实验练习

1.使用认证用户为jx_名字缩写,认证密码为班级编号

2.模块名称为juexing

3.自行修改文件内容,在服务器上实现同步

vim /etc/rsyncd.conf   写入红框内容

useradd rsync -s /sbin/nologin -M  创建rsync用户并给到命令权限

echo 'jx_lwj:2305' >/etc/rsync.passwd  给认证用户设置密码

chmod 600 /etc/rsync.passwd  并设置权限

mkdir /juexing  准备模块目录

chown rsync.rsync /juexing  目录属组属主要是给到sbin命令权限的用户与组

systemctl restart rsyncd    重启服务

打开客户端

rsync -avz /etc/hosts jx_lwj@192.168.1.1::juexing

测试成功后设置通过密码文件实现免密传输

vim /etc/rsync.passwd  写入刚才设置的密码2305

chmod 600 /etc/rsync.passwd   设置密码文件权限

rsync -avz /etc/hosts jx_lwj@192.168.1.1::juexing --password-file /etc/rsync.passwd  自动读取密码文件在/etc/rsync.passwd


rsync+inotfy实时同步

服务器端

安装网站服务,启动,但是不写首页文件

修改主配置文件

vim /etc/rsync.config

uid = root
gid = root

[wwwroot]
    path = /var/www/html
    comment = backup export area
    read only = false
    hosts allow = 192.168.1.0/24

开发客户端

安装inotify工具

inotify-tools

tar xf  inotify-tools-3.14.tar.gz

./configure && make && make install

 

配置内核参数

vim /etc/sysctl.conf

fs.inotify.max_user_instances = 1024

fs.inotify.max_queued_events = 16384

fs.inotify.max_user_watches=1048576

sysctl -P

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

这条命令输入后  可以实时观察写入、删除等

编写脚本

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.1.1::wwwroot"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
$RSYNC_CMD
done

 

赋予执行权限

chmod +x inotify_rsync.sh

 

写入文件(开机自启)

vim /etc/rc.local

/root/inotify_rsync.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/771036.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

将TXT转化为PDF的方法有哪些,分享四个给大家!

将TXT文本文件转换为PDF是一项常见的需求,特别是在需要共享文档时。在本文中,我们将分享四种方法,让您能够轻松地将TXT文件转换为PDF格式。 方法一:使用记灵在线工具 记灵在线工具是一个方便易用的在线文档转换工具,…

日撸java三百行day77-79

文章目录 说明GUI1. GUI 总体布局2. GUI 代码理解2.1 对话框相关控件2.1.1 ApplicationShowdown.java(关闭应用程序)2.1.2 DialogCloser.java(关闭对话框)2.1.3 ErrorDialog.java(显示错误信息)2.1.4 HelpD…

C++基础算法离散化及区间合并篇

📟作者主页:慢热的陕西人 🌴专栏链接:C算法 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要讲解了双指针,位运算,离散化以及区间合并。…

店铺记账用什么软件好?应该如何选购?

店铺记账过程中,会遇到各种问题:手写记账容易出错、效率低下、数据容易丢失;手动整理数据导致实际库存和账面库存不匹配,影响补货和订单管理。 而借助专业的店铺记账软件,可以有效解决上面这些问题,通过自动…

51单片机学习--矩阵键盘、电子密码锁

矩阵键盘的模块原理图&#xff1a; 功能&#xff1a;按下矩阵按键&#xff0c;在LCD上显示对应的数值。 采用模块化编程&#xff0c;在此只给出MatrixKey.c 和 main.c 两部分代码 #include <REGX52.H> #include "Delay.h"/*矩阵键盘读取键码按下不放&#xf…

K8S集群内部署Rancher2.5.16

K8S集群内部署Rancher2.5.16 一、环境 k8s&#xff1a;1.18.20 OS&#xff1a;Anolis OS 7.9 rancher&#xff1a;2.5.16 参考官网部署文档&#xff1a;https://ranchermanager.docs.rancher.com/zh/v2.6/pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster 二…

回归预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于SVM-Adaboost支持向…

Meta发布升级大模型LLaMA 2:开源可商用

论文地址&#xff1a;https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/ Github地址&#xff1a;https://github.com/facebookresearch/llama LLaMA 2介绍 Meta之前发布自了半开源的大模型LLaMA&#xff0c;自从LLaMA发布以来…

常用API学习06(Java)

Biglnteger public BigInteger(int num, Random rnd) 获取随机大整数&#xff0c;范围&#xff1a;[0~2的num次方-1] public BigInteger(String val) 获取指定的大整数 public BigInteger(String val, int radix) 获取指定进制的大整数 public static BigInteg…

spring starter

统一返回参数 public class R {private Integer code;private String msg;private Object obj;public static R build() {return new R();}public static R ok(String msg) {return new R(200, msg, null);}public static R ok(String msg, Object obj) {return new R(200, msg…

Spring学习记录---回顾反射机制

目录 10.回顾反射机制 10.1 分析方法四要素 //不使用反射机制调用这些方法 使用反射机制调用方法 代码&#xff1a; 运行结果&#xff1a; 10.4 假设你知道属性名 测试代码 运行结果 10.回顾反射机制 10.1 分析方法四要素 package com.dong.reflect;public class Som…

深入学习 Redis - 深挖经典数据类型之 string

目录 前言 一、string 类型 1.1、操作命令 set / get &#xff08;设置 / 获取&#xff09; mset / mget&#xff08;批量 > 设置 / 获取&#xff09; setnx / setex / psetex &#xff08;设置时指定不同方式&#xff09; incr / incrby / decr / decrby/ incrbyfloat…

GAMES101作业2

文章目录 作业内容Step 1. 创建三角形的2维bounding boxStep 2. 判断bBox中的像素中心点是否在三角形内Step 3. 比较插值深度和Depth BufferMSAA 作业内容 在屏幕上画出一个实心三角形&#xff0c; 换言之&#xff0c;栅格化一个三角形。上一次作业中&#xff0c;在视口变化之…

P1403 [AHOI2005] 约数研究

题目描述 科学家们在 Samuel 星球上的探险得到了丰富的能源储备&#xff0c;这使得空间站中大型计算机 Samuel II 的长时间运算成为了可能。由于在去年一年的辛苦工作取得了不错的成绩&#xff0c;小联被允许用 Samuel II 进行数学研究。 小联最近在研究和约数有关的问题&…

Vue+axios 使用CancelToken多次发送请求取消前面所有正在pendding的请求

需求&#xff1a; 项目中 折线图数据是循环调用的&#xff0c;此时勾选一个设备&#xff0c; 会出现多条线。 原因 折线图数据一进来接口循环在调用&#xff0c;勾选设备时&#xff0c;循环调用的接口有的处于pedding状态 &#xff0c;有的还在加载中&#xff0c;这就导致勾…

安泰电子:ATA-ML100水声功率放大器模块技术参数

随着人类对海洋的深度探索和利用的不断加深&#xff0c;水下通信技术日益成为研究的热点。水下通信技术是指在海洋、湖泊等水体中实现信息传递和交流的技术手段。它不仅在海洋资源勘探、海洋环境监测等领域具有广泛应用&#xff0c;还在水下考古、水下工程等领域发挥着重要作用…

018 - STM32学习笔记 - SPI读写FLASH(三)- 写入字符串、小数与整数

018 - STM32学习笔记 - SPI访问Flash&#xff08;三&#xff09;- 写入字符串、小数与整数 上节对Flash的跨页写入数据进行了完善&#xff0c;但是数据写入都是以Byte数组的方式进行写入&#xff0c;这节分别进行字符串的写入和小数整数的写入&#xff0c;本节内容对SPI的函数…

linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S 软链接和硬链接

r(Read&#xff0c;读取)&#xff1a;对文件而言&#xff0c;具有读取文件内容的权限&#xff1b;对目录来说&#xff0c;具有浏览目 录的权限。 w(Write,写入)&#xff1a;对文件而言&#xff0c;具有新增、修改文件内容的权限&#xff1b;对目录来说&#xff0c;具有删除、移…

Burp Suite---渗透测试工具

文章目录 Burp SuiteBurp Suite入门设置代理HTTP的代理 Proxy&#xff08;代理&#xff09; Burp Suite 是一款集成化的渗透测试工具&#xff0c;包含了很多功能&#xff0c;可以帮助我们高效地完成对Web应用程序的渗透测试和攻击。 Burp Suite由Java语言编写&#xff0c;基于…

十大网络安全上市公司分析,让我们重点聊聊F5

网络安全上市厂商业务广泛分布于网络安全硬件、软件&#xff0c;网络安全服务等板块&#xff0c;总体来看&#xff0c;十大网络安全上市公司的竞争可谓是如火如荼。今天让我们把目光集中在F5&#xff0c;这个能为我们所有人创造更安全的数字世界的企业&#xff0c;在应用及API交…