美文网首页
Linux_284_rsync数据同步之无差别数据复制

Linux_284_rsync数据同步之无差别数据复制

作者: 为宇绸缪 | 来源:发表于2022-10-20 10:20 被阅读0次

    默认情况下,备份之后原来的机器上存在的数据是不会丢失的

    无差异数据复制:rsync在拉取数据的时候加上 --delete。只要机器A的数据,不需要机器B的数据

    实现这种无差异数据复制,主要是使用rsync的参数--delete
    所谓的无差异复制,指的是 无论是数据的拉取还是推送,都高度保持两边文件夹数据的一致性,也就是会删除其他多余的文件信息

    1、本地式数据删除
    我们可以利用rsync保证两个文件夹的内容数据一致性,本地的操作
    (1) 保证 /my_rsync/myweb 目录和 /my_rsync/backup 目录内容的一致性
    把backup文件同步到myweb并且删除myweb自己的文件
    rsync -avzP --delete backup/ myweb/
    [root@yuweijie my_rsync]# tree
    .
    ├── backup
    │ ├── 1.txt
    │ ├── 2.txt
    │ ├── 3.txt
    │ ├── 4.txt
    │ └── 5.txt
    └── myweb
    ├── a.html
    ├── b.html
    ├── c.html
    ├── d.html
    └── e.html

    [root@yuweijie my_rsync]# tree
    .
    ├── backup
    │ ├── 1.txt
    │ ├── 2.txt
    │ ├── 3.txt
    │ ├── 4.txt
    │ └── 5.txt
    └── myweb
    ├── 1.txt
    ├── 2.txt
    ├── 3.txt
    ├── 4.txt
    └── 5.txt

    2、远程的两台机器,数据同步一致性
    (1)数据无差异拉取,保证客户端本地和rsync服务端的数据一致
    该命令有一定的危险性,需要确保文件是否必须要删除
    rsync -avzP --delete rsync_backup@192.168.178.122::backup .

    [root@yuweijie my_rsync]# ls
    1.txt 2.txt 3.txt
    [root@yuweijie my_rsync]# rsync -avzP --delete rsync_backup@192.168.178.122::backup .
    receiving incremental file list
    deleting 3.txt
    deleting 2.txt
    deleting 1.txt
    ./
    a.html
    0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=2/4)
    b.html
    0 100% 0.00kB/s 0:00:00 (xfr#2, to-chk=1/4)
    c.html
    0 100% 0.00kB/s 0:00:00 (xfr#3, to-chk=0/4)

    sent 84 bytes received 222 bytes 612.00 bytes/sec
    total size is 0 speedup is 0.00
    [root@yuweijie my_rsync]# ls
    a.html b.html c.html

    (2)数据无差异的推送,这个命令很危险,可能会误删备份服务器上的数据,注意参数的使用
    rsync -avzP --delete /my_rsync/ rsync_backup@192.168.178.122::backup

    [root@yuweijie my_rsync]# ls
    a.py b.py c.py d.py e.py f.py g.py
    [root@yuweijie my_rsync]# rsync -avzP --delete /my_rsync/ rsync_backup@192.168.178.122::backup
    sending incremental file list
    deleting c.html
    deleting b.html
    deleting a.html
    ./
    a.py
    0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=6/8)
    b.py
    0 100% 0.00kB/s 0:00:00 (xfr#2, to-chk=5/8)
    c.py
    0 100% 0.00kB/s 0:00:00 (xfr#3, to-chk=4/8)
    d.py
    0 100% 0.00kB/s 0:00:00 (xfr#4, to-chk=3/8)
    e.py
    0 100% 0.00kB/s 0:00:00 (xfr#5, to-chk=2/8)
    f.py
    0 100% 0.00kB/s 0:00:00 (xfr#6, to-chk=1/8)
    g.py
    0 100% 0.00kB/s 0:00:00 (xfr#7, to-chk=0/8)

    sent 430 bytes received 182 bytes 1,224.00 bytes/sec
    total size is 0 speedup is 0.00

    --delete参数总结
    rsync推送场景:数据备份,上传
    本地有的资料,上传的情况下,一般不使用--delete参数,除非是NFS服务的实时同步,可能会要求客户端和服务端数据完全一致性
    rsync拉取场景,代码下载,代码的发布
    rsync无差异同步,还可以用于负载均衡下的,web服务器数据无差异同步

    相关文章

      网友评论

          本文标题:Linux_284_rsync数据同步之无差别数据复制

          本文链接:https://www.haomeiwen.com/subject/fpquzrtx.html