美文网首页
4-10.8 Linux 中的文件同步传输 --- rsync

4-10.8 Linux 中的文件同步传输 --- rsync

作者: 捌千里路雲和月 | 来源:发表于2021-08-19 12:45 被阅读0次
    • --delete 以源文件为主,源文件传输数据到目标目录,目标目录以镜像形式保存源文件数据。如,目标目录里有源数据以外的内容将会被删除(多则删除,少则补上)。目标目录的内容和源目录的内容保持一致。
    • 4-10.8 内容
      通过 rsync -a --delete 学习镜像形式的备份。
    • 操作步骤:
      1、新建一个 backups_delete 用作备份目录
    [root@localhost ~]# ls
    test
    [root@localhost ~]# cd test 
    [root@localhost test]# mkdir backups_delete    ## 新建 backups_delete 备份目录
    [root@localhost test]# 
    [root@localhost test]# tree    ## 目录结构
    .
    ├── backups_delete      ## 新建的 backups_delete 备份目录 
    └── SRC
        ├── directory
        │   └── file2.txt
        └── file1.txt
    
    3 directories, 2 files
    
    

    2、执行 rsync -a --delete 把 SRC 目录下的内容传输到 backups_delete 目录,backups_delete 以镜像形式保存 SRC 目录的内容。backups_delete 目录的内容和 SRC 目录的内容保持一致。

    [root@localhost test]# rsync -a --delete SRC/ backups_delete/
    [root@localhost test]# 
    [root@localhost test]# tree
    .
    ├── backups_delete    ## backups_delete 目录已备份了 SRC 目录的文件
    │   ├── directory
    │   │   └── file2.txt
    │   └── file1.txt
    └── SRC
        ├── directory
        │   └── file2.txt
        └── file1.txt
    
    

    3、第 2 点通过 -a --delete 完成了 SRC 目录文件的备份,可能没有突显镜像备份的形式。现在 backups_delete 增加一些内容,然后用 -a --delete 再传输一次数据作一个对比就会清晰了。

    backups_delete 目录下新增两个目录 directory1 和 directory2,directory1目录新增一个 file3.txt 文件,directory2目录新增一个 file4.txt 文件。操作 和 目录结构如下:

    ## backups_delete 目录下新增两个目录 directory1 和 directory2
    [root@localhost test]# mkdir backups_delete/directory1
    [root@localhost test]# mkdir backups_delete/directory2
    
    ## directory1目录新增一个 file3.txt 文件,directory2目录新增一个 file4.txt 文件
    [root@localhost test]# touch backups_delete/directory1/file3.txt
    [root@localhost test]# touch backups_delete/directory2/file4.txt
    [root@localhost test]# 
    [root@localhost test]# tree    ## 目录结构如下
    .
    ├── backups_delete
    │   ├── directory    ## SRC 目录备份内容
    │   │   └── file2.txt
    │   ├── directory1    ## 新增的内容
    │   │   └── file3.txt
    │   ├── directory2     ## 新增的内容
    │   │   └── file4.txt
    │   └── file1.txt     ## SRC 目录备份内容
    └── SRC
        ├── directory
        │   └── file2.txt
        └── file1.txt     
    
    6 directories, 6 files
    [root@localhost test]# 
    
    

    -a --delete 再传输一次数据,可以发现刚才新建的目录和文件都被删除了,backups_delete 目录只保存和 SRC 源目录一致的内容。形成一个 SRC 目录内容的镜像。

    [root@localhost test]# rsync -a --delete SRC/ backups_delete/
    [root@localhost test]# 
    [root@localhost test]# tree
    .
    ├── backups_delete
    │   ├── directory
    │   │   └── file2.txt
    │   └── file1.txt
    └── SRC
        ├── directory
        │   └── file2.txt
        └── file1.txt
    
    4 directories, 4 files
    
    

    4、同理,把 backups_delete 的 file1.txt 文件删除,再用 -a --delete 再传输一次数据。

    ## 删除 backups_delete 的 file1.txt 文件
    [root@localhost test]# rm -rf backups_delete/file1.txt 
    [root@localhost test]# 
    [root@localhost test]# tree
    .
    ├── backups_delete    ## 缺少了 file1.txt 文件
    │   └── directory
    │       └── file2.txt
    └── SRC
        ├── directory
        │   └── file2.txt
        └── file1.txt
    
    4 directories, 3 files
    ##  -a --delete 完成了 SRC 目录文件的备份
    [root@localhost test]# rsync -a --delete SRC/ backups_delete/
    [root@localhost test]# 
    [root@localhost test]# tree
    .
    ├── backups_delete
    │   ├── directory    ## 缺少的 file1.txt 文件已经补上
    │   │   └── file2.txt
    │   └── file1.txt
    └── SRC
        ├── directory
        │   └── file2.txt
        └── file1.txt
    
    4 directories, 4 files
    [root@localhost test]# 
    
    

    由上述实验可以看出 --delete 作用于接收端,把目标目标以镜像模式备份源目录的数据。目标目录比源目标多出的内容将会被删除。对比源目录,比源目录少的内容会补上。

    相关文章

      网友评论

          本文标题:4-10.8 Linux 中的文件同步传输 --- rsync

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