zoukankan      html  css  js  c++  java
  • [daily][archlinux][rsync] rsync

    科普文档:https://wiki.archlinux.org/index.php/Rsync

    之前改文件系统时,用过。 然而用的不太对,导致一部分文件的权限出了问题。

    [troubleshoot][archlinux][bcache] 修改linux文件系统 / 分区方案 / 做混合硬盘 / 系统转生大!手!术!(调整底层架构,不!重!装!)

    使用rsync做全系统备份的教程:https://wiki.archlinux.org/index.php/Full_system_backup_with_rsync

    一,在备份server上启动 rsync服务。当然不启动也行,因为可以使用ssh。

    man rsyncd.conf

      高不太清楚怎么用,好像也没有必要配。直接ssh。

    二,通过ssh使用rsync,参考

      还参考了仙子的 旧文章

    /home/tong [tong@T7] [11:44]
    > sudo pacman -S rsync

    三, 写了个脚本,来使用。

    /home/tong [tong@T7] [19:07]
    > cat bin/rsync-t7
    #! /usr/bin/bash
     
    cd $(dirname $0)
    
    if [[ $# -lt 0 || $# -gt 1 ]]; then
            echo "usage: $0 [-w]"
            exit 1
    fi
    
    src=/
    dest=tong@192.168.10.50:/home/tong/Data/Bak/T7-rsync/ROOT_FS
    doit=$1
     
    if [[ $doit == -w ]]; then
            dry=
    else
            dry='-n'
    fi
     
    sudo rsync --archive --acls --xattrs --numeric-ids
            --delete 
            --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} 
            --sparse 
            --hard-links 
            --human-readable --itemize-changes --progress 
            --verbose 
       -M--fake-super $src $dest $dry #
    --delete-excluded # --one-file-system

    其中: --one-file-system  会导致单独挂在的/home分区和/boot分区不能被同步。

    -----------  update @ 20170701 --------------

    以上的脚步在实际使用中,发现了一个问题。

    T7使用的是root用户,Tstation(192.168.10.50)使用的tong用户登录。这样的话,实际上就丢失了文件的所有者信息。

    可以在远端-M增加--fake-super命令来解决这一问题。 

    然后从远端(Tstation)同步回来(T7)的时候,使用相同的命令即可。

    详细参见 man rsync  fake-super章节。

    -----------  update @ 20180531 ----------

    在本地sync的时候,-M--fake-super会导致软连接copy之后变成文件。原因不清楚。

    [root@nlbtest tong]# rsync --archive --acls --xattrs --numeric-ids --delete --sparse --hard-links --human-readable --itemize-changes -M--fake-super ./src/ ./dst
    .d..t.....x ./
    cL+++++++++ bin -> usr/bin/
    .d........x usr/
    .d........x usr/bin/
    [root@nlbtest tong]# ll dst/
    total 12
    -rwxrwxrwx. 1 root root  8 May 31 13:52 bin
    drwxr-xr-x. 3 root root 16 May 31 13:52 usr
    [root@nlbtest tong]# 
  • 相关阅读:
    类的加载机制与反射 笔记
    json
    人人都是产品经理 笔记
    java IO
    jcrop+jquery+javaweb 实现头像裁剪、上传
    C++学习-3
    C++学习-2
    C++学习-1
    Django高级部分
    Django---模板
  • 原文地址:https://www.cnblogs.com/hugetong/p/6984632.html
Copyright © 2011-2022 走看看