首页 > 其他分享 >rsync

rsync

时间:2024-07-10 15:44:26浏览次数:7  
标签:rsync -- bytes moudle01 txt root

rsync与inotify

【1】、rsync同步操作

应用场景(业务场景) 应用建议
rsync作为命令使用 临时拉取,推送数据。未来这和需求可以通过scp命令实现
定时备份:rsync服务+定时任务 定时备份,定期备份(定时任务进行备份+通过rsync传输备份)
实时同步:rsync服务+sersync/lsyncd是先试试吧同步 解决存储服务单点问题
rsync服务与异地容灾 找一个异地的服务器存放备份
  • 命令用法

    • -rsync [选项] 源目录 目标目录
    • 5G左右的数据用拷贝,更大的用rsync
  • 同步与复制的差距

    • 复制:完全拷贝源到目标
    • 同步:增量拷贝,只传输变化的数据
rsync选项 含义
-a -rlptgoD
-r:递归复制
-l:复制软连接
-p:保持权限不变
-m:保持修改时间不变
-o:所有者不变
-g:用户组不变
-D:--devices --specials 设备与特殊文件
-v 显示过程
-z 传输数据的时候进行压缩(公网)
-P 在传输过程中显示更加详细的信息
--bwlimit 不要与-z一起使用,限制传输时的速度,一般在公网传输的时候使用,避免占据大量的带宽
--exclude 在数据传输时排除哪些内容
--delete 保持源与目标数据一致
-X 保持同步前后ACL权限
-n 测试同步过程,不做实际修改
[root@moudle01 09:23:10  ~]# mkdir /aaa
[root@moudle01 09:23:20  ~]# mkdir /bbb
[root@moudle01 09:23:23  ~]# touch /aaa/{1..3}.txt
[root@moudle01 09:23:38  ~]# rsync -avX --delete /aaa/ /bbb
sending incremental file list
./
1.txt
2.txt
3.txt

sent 296 bytes  received 80 bytes  752.00 bytes/sec
total size is 0  speedup is 0.00
[root@moudle01 09:24:04  ~]# ls /bbb
1.txt  2.txt  3.txt
# --delete会保持源目一致,我在/bbb中创建了数据,使用rsync时会自动删除
[root@moudle01 09:24:07  ~]# touch /bbb/123.txt
[root@moudle01 09:24:17  ~]# rsync -avX --delete /aaa/ /bbb
sending incremental file list
deleting 123.txt
./

sent 139 bytes  received 30 bytes  338.00 bytes/sec
total size is 0  speedup is 0.00

【2】、远程同步(rsync+ssh)

  • 与远程的ssh目录保持同步
    • 下行:rsync [..] user@host:远程目录 本地目录
    • 上行:rsync [..] 本地目录 user@host:远程目录
rsync -avX --delete /aaa [email protected]:/opt

【3】、实时同步

  • 首先要设置ssh免密
  • 通过inotify监控目录内容
    • -m:持续监控(捕获一个事件后不退出)
    • -r:递归监控、包括子目录及文件
    • -q:减少屏幕输出信息
    • -e:指定监控的modify、move、create、delete、attrib等时间类别(不写-e,任何事件都监控)
# 
[root@moudle01 10:26:03  /]# inotifywait -rq /mydir/
/mydir/ CREATE aaa.txt

inotify是用来监视目录的,没有数据同步功能,数据同步是通过rsync实现的

我们只能通过脚本去实现inotify和rsync联动,当inotify监控到数据内容发生变化后,rsync去实现同步操作

#!/bin/bash
while inotifywait -rq /mydir/
do
        rsync -avX --delete /mydir/ [email protected]:/mnt
done

[root@moudle01 10:45:23  /]# touch /mydir/ssss
/mydir/ CREATE ssss
[root@moudle01 10:45:31  /]# sending incremental file list
./
ssss

sent 277 bytes  received 41 bytes  636.00 bytes/sec
total size is 0  speedup is 0.00

[root@clone-01 10:46:29  ~]# ll /mnt
total 0
-rw-r--r--. 1 root root 0 Jun  7 10:26 aaa.txt
-rw-r--r--. 1 root root 0 Jun  7 10:43 asdasdas
drwxr-xr-x. 2 root root 6 Jun  7 10:41 hahahah
-rw-r--r--. 1 root root 0 Jun  7 10:45 ssss

标签:rsync,--,bytes,moudle01,txt,root
From: https://www.cnblogs.com/xuruizhao/p/18294179

相关文章

  • rsync使用教程
    1、rsync是什么rsync是一个在Unix/Linux环境下常用的工具,Windows上可以通过一些替代工具或者使用Cygwin环境来实现类似的功能。Cygwin在安装过程中,选择需要安装的组件时确保选择了rsync和openssh(如果需要通过SSH连接到其他服务器进行备份)。rsync的简单使用如下:rsync-avz......
  • 在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认
    在使用rsync通过SSH进行数据同步时,如果目标机器的SSH服务没有运行在默认的22端口上,你需要指定SSH连接应该使用的端口。这可以通过-e选项来实现,后面跟上ssh命令和-p参数来指定端口号。以下是使用非默认端口的SSH进行rsync同步的基本命令格式:rsync-avz-e"ssh-p<port>"<sourc......
  • 在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置
    在使用rsync的服务模式时,如果使用了密码认证机制,密码文件是一个非常重要的安全组件。密码文件通常包含用户名称和加密后的密码,用于验证客户端的访问权限。为了确保密码文件的安全性,应该将其权限设置为尽可能严格。理想情况下,密码文件的权限应该设置为仅允许rsync服务进程访问......
  • 在Linux中,rsync同步时,如何删除目标数据多出来的数据,即源上不存在,但目标却存在的文件或
    在Linux中,rsync命令是一个非常强大且灵活的工具,用于文件和目录的同步。当使用rsync进行同步时,如果希望删除目标目录中那些不再存在于源目录中的文件或目录,你可以使用--delete选项。下面是一些关于如何使用--delete选项的详细说明:1.使用--delete选项当你在rsync命令中加入--del......
  • rsync 远程同步
    1、rsync(远程同步)rsync(RemoteSync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。第一次同步时rsync会复制全部内容,但在下一次只传输......
  • 在Linux中,rsync同步数据时,如果目标⽂件比源⽂件还新,则忽略该文件,如何做?
    在使用rsync命令进行数据同步时,如果你希望在目标文件比源文件更新的情况下忽略同步该文件,可以使用-u选项。-u选项代表--update,它告诉rsync仅同步那些源比目标更新的文件。基本的rsync命令格式如下:rsync[options]sourcedestination其中,source是源文件或目录的路径,destinatio......
  • rsync远程同步
    目录一.rsync远程同步概述1.关于rsync2.特性二.具体实操rsync远程文件同步1.服务端搭建2.测试3.删除文件4.如何实现免交互登录三.定时同步crontab+rsync四.通过ssh和rsync结合的方式实现数据同步1.如何使用ssh实现免交互登录1.1.如何避免ssh连接新主机时密钥对验......
  • 在Linux中,rsync 同步数据时,如何过滤出所有.txt的文件不同步?
    在Linux中,使用rsync命令同步数据时,若要过滤掉所有.txt文件,不将其纳入同步范围,可以通过--exclude选项来实现。具体做法如下:rsync-avz--exclude='*.txt'源目录/目标目录/这里对命令参数进行解释:-a或--archive:这是一个综合选项,等于-rlptgoD(递归、保留链接、保留权限、保......
  • readhat8搭建SFTP双机高可用并配置Rsync数据实时同步
    环境准备:主机host-61-118:192.168.61.118host-61-119:192.168.61.119vip:192.168.61.220检测openssh版本,版本必须大于4.8.p1,否则需要升级openssh版本[root@host-61-118~]#ssh-VOpenSSH_7.4p1,OpenSSL1.0.2k-fips26Jan2017关闭防火墙systemctlstopfirew......
  • ReentrantLock的非公平锁(NonfairSync)深度解析:源码之旅与实战策略
    1.引言在Java并发编程中,ReentrantLock作为一种可重入的互斥锁,提供了比synchronized更强大和灵活的功能。其中,NonfairSync作为ReentrantLock内部非公平锁的实现,其设计理念和源码实现都体现了对性能和公平性的权衡。2.NonfairSync概述非公平锁特性:新到达的线程在......