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. 一种PyInstaller中优雅的控制包大小的方法

    PyInstaller会在打包时自动为我们收集一些依赖项,特别是我们在打包PyQt/PySide相关的应用时,PyInstaller会自动包含我们程序通常不需要的文件,如'tanslations'文件 ...

  2. Java 读取 IP 地址

    使用 InetAddress 类 可以利用 Java 自带的 InetAddress 类来检查一个字符串是否为有效的 IP 地址: import java.net.InetAddress; // 导入 ...

  3. 一文了解JSON

    目录 JSON 在JavaScript 中的使用. json 的定义 json 的访问 json 的两个常用方法 JSON 在 在 java 中的使用 javaBean 和 和 json 的互转 Li ...

  4. 立体视觉 StereoVision

    双目相机 原理 [深度相机系列三]深度相机原理揭秘--双目立体视觉 StereoVision--立体视觉(1) StereoVision--立体视觉(2) StereoVision--立体视觉(3) ...

  5. Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404

    Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code = 404 在学习共享库时使用通过git拉取jenkin ...

  6. 小tips:CSS实现0.5px的边框的两种方式

    方式一 <style> .border { width: 200px; height: 200px; position: relative; } .border::before { con ...

  7. C# 开源教程带你轻松掌握数据结构与算法

    前言 在项目开发过程中,理解数据结构和算法如同掌握盖房子的秘诀.算法不仅能帮助我们编写高效.优质的代码,还能解决项目中遇到的各种难题. 给大家推荐一个支持C#的开源免费.新手友好的数据结构与算法入门教 ...

  8. CSS & JS Effect – Do something on enter/leave window tab

    需求 我在做一个体验 当用户 submit enquiry 后会 window.open 开启 WhatsApp.而当用户关闭 WhatsApp 回来网站后,会 show 一个 feedback me ...

  9. c# 8.0

    1. nullable string 从前 string 一定是 nullable. 现在则不一定 string? name = null;  要加 ? 才可以表示 nullable 限制泛型不能 n ...

  10. Dockerfile相关(推送镜像?私有仓库?)(九)

    上面我们讲到了 Dockerfile 的基本写法以及构建镜像的时候一些注意事项,那么镜像构建完成后,如何把我们的镜像给到别人使用呢?第一种方法就是利用 Docker 官方提供的公共的 Docker H ...