Rsync:

简介:是一个开源的快速备份工具、可以在不同主机之间镜像同步整个目录,支持增量备份,保持链接(硬链接、软连接)和权限,且采用优化同步算法,传输前执行压缩(传输过程中效率加快了,但是会增加cpu的负载)。

核心作用:

对静态数据进行增量备份。

以服务状态运行:负责发起rsync同步操作的称为发起端,负责响应rsync同步操作的称为同步源。

工作模式

本地模式(本地同步):使用方法类似于cp命令;
格式:rsync [选项] 源目录 目标目录
通过远程shell访问模式(远程同步):使用方法类似于scp命令;
格式:rsync [选项] 本地目录 IP:绝对路径
rsync [选项] IP:绝对路径 本地目录
守护进程模式:(将rsync作为一个同步服务启动,rsync作为一个守护进程在后台运行,时刻监听默认端口873)

格式:

1、rsync	[选项]   本地目录   用户名@主机地址::共享模块名  (上传)
rsync [选项] 用户名@主机地址::共享模块 (下载) 2、rsync [选项] 本地目录 rsync://用户名@主机地址/共享模块名(上传)
rsync [选项] rsync://用户名@主机地址/共享模块名 本地目录(下载)

常用选项:(组合:-vzrtopg;-avz)

-a:归档模式,递归并保留对象属性,等同于-rlptgoD
-v:显示同步过程的详细信息;
-z:在传输文件时进行压缩;
-H:保留硬链接文件;
-A:保留ACL属性信息;
--delete:删除目标位置有而原始位置没有的文件;
--checksum:根据对象的校验和来决定是否跳过文件;
-r:递归模式,包含目录及子目录中所有文件;
-l:对于符号链接文件仍然复制为符号链接文件;
-p:保留文件的权限标记;
-t:保留文件的时间标记;
-g:保留文件的属组标记(仅超级用户使用);
-o:保留文件的属主标记(仅超级用户使用);
-D:保留设备文件及其他特殊文件
--bwlimlit=KBPS:限制传输速率;
注:使用rsync命令时,目录名后需要/,否则就是将目录同步过去了!
配置内容:进程文件的位置;日志文件的位置;设置端口号;模块设置;

rsync+inotify实时同步:

定期同步的不足:执行备份的时间固定,延迟明显,实时性差,当同步源长期不变化时,密集的定期任务是不必要的。
实时同步的好处:一旦同步源出现变化,立刻启动备份,如果同步源不发生变化,则不执行备份。
Linux内核的inotify机制:可以监控文件系统的变动情况,并作出通知响应;
辅助软件:inotify-tools
Inotifywait:用于持续监控,实时输出结果
Inotifywatch:用于短期监控,任务完成后再出结果
选项:-m:持续运行进程
-r:递归
-q:以简洁模式输出信息
-e:指定监控的动作类型(modify修改;create修改;move移动;delete删除,中间用逗号分隔)
格式:inotifywait -mrq -e modify,create,move,delete /var/www/html

实时同步脚本:

#!/bin/bash
# rsync+inotify实时同步脚本
#变量
INOTIFY_CMD="/usr/local/bin/inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"
RSYNC_CMD="/usr/bin/rsync -azH --delete --password-file=/etc/server.pass /var/www/html/
backuper@192.168.100.101::wwwroot"
#read:从标准输入中,取值赋予变量
#脚本意思是只要后面这三个变量被赋值了,就执行$RSYNC_CMD
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
if [ $(pgrep rsync | wc -l) -eq 0 ] ; then
$RSYNC_CMD
fi
done

后台执行脚本

nohup /bin/bash /opt/inotify.sh &		// nohup 可以保证当前执行程序的用户登出当前系统后,当前程序不停止,仍然执行后台程序。

Rsync远程同步知识点总结的更多相关文章

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

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

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

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

  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. rsync - 远程同步工具

    一直没有对这个命令太有深入的理解 简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync ...

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

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

  10. [cmd] rsync - 远程同步工具

    简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync 是一个非常灵活的同步工具,它也是一 ...

随机推荐

  1. spring同时集成mybatis和ibatis

    最近来了一个新项目,说是新的项目,但是需要用到以前旧的模块代码,旧的模块使用架构为ssi 而新项目使用spring mvc +mybatis,考虑到工作量的问题,所以决定使用spring mvc +m ...

  2. SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用

    SimpleRAG介绍 SimpleRAG是基于WPF与Semantic Kernel实现的一个简单的RAG应用,可用于学习与理解如何使用Semantic Kernel构建RAG应用. GitHub地 ...

  3. MySQL编译安装-麒麟V10 x86

    环境信息 操作系统: Kylin Linux Advanced Server V10 (Sword) 架构:X86 MySQL版本:5.7.44 编译 安装必要的依赖库和编译工具 sudo yum g ...

  4. 电商API接口应该如何使用?

    从定义上看,API接口是指预先定义的一组规则和协议,允许不同的软件应用之间相互通信和交换数据. 目前,市场中电商行业用到API接口的场景较多,电商API接口则是专门针对电子商务应用场景所提供的API, ...

  5. TimeWheel算法介绍及在应用上的探索

    作者:来自 vivo 互联网服务器团队- Li Fan 本文从追溯时间轮算法的出现,介绍了时间轮算法未出现前,基于队列的定时任务实现,以及基于队列的定时任务实现所存在的缺陷.接着我们介绍了时间轮算法的 ...

  6. Kubernetes-10:Ingress-nginx介绍及演示

    Ingress介绍 Ingress是什么? ingress 是除了 hostport  nodeport  clusterIP以及云环境专有的负载均衡器外的访问方式,官方提供了Nginx ingres ...

  7. 神奇的C语言输出12天圣诞节歌词代码

    12天圣诞节程序怎样运行?1988 年,一个令人印象深刻且令人敬畏的 C 代码,代号为 xmas.c,在国际混淆 C 代码竞赛中获胜.该程序甚至比其输出的"压缩"类型还要小,代表了 ...

  8. vue中代理解决跨域

    跨域是什么 简单的讲就是你在一个地方使用另一个地方的资源,被浏览器给挡下来了,不让不用!当然,它挡下来是有自己理由的:为了安全(╬▔皿▔)╯. 解决跨域 我是用vue开发的,就vue代理模式解决跨域说 ...

  9. EF Core – Table / Entity Splitting

    参考 Docs – Advanced table mapping Table Splitting Table Splitting 指的是把一个表映射到多个 Entity,或者反过来说就是把多个 Ent ...

  10. java基础 -反射笔记

    710,反射快速入门 代码: 先创建一个 re.properties 文件: classfullpath=com.hspedu.Cat method=hi Cat.java package com.h ...