科普文档: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。

  1. man rsyncd.conf

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

二,通过ssh使用rsync,参考

  还参考了仙子的 旧文章

  1. /home/tong [tong@T7] [:]
  2. > sudo pacman -S rsync

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

  1. /home/tong [tong@T7] [:]
  2. > cat bin/rsync-t7
  3. #! /usr/bin/bash
  4.  
  5. cd $(dirname $)
  6.  
  7. if [[ $# -lt || $# -gt ]]; then
  8. echo "usage: $0 [-w]"
  9. exit
  10. fi
  11.  
  12. src=/
  13. dest=tong@192.168.10.50:/home/tong/Data/Bak/T7-rsync/ROOT_FS
  14. doit=$
  15.  
  16. if [[ $doit == -w ]]; then
  17. dry=
  18. else
  19. dry='-n'
  20. fi
  21.  
  22. sudo rsync --archive --acls --xattrs --numeric-ids\
  23. --delete \
  24. --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
  25. --sparse \
  26. --hard-links \
  27. --human-readable --itemize-changes --progress \
  28. --verbose \
       -M--fake-super \
  29. $src $dest $dry
  30.  
  31. # --delete-excluded
  32. # --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之后变成文件。原因不清楚。

  1. [root@nlbtest tong]# rsync --archive --acls --xattrs --numeric-ids --delete --sparse --hard-links --human-readable --itemize-changes -M--fake-super ./src/ ./dst
  2. .d..t.....x ./
  3. cL+++++++++ bin -> usr/bin/
  4. .d........x usr/
  5. .d........x usr/bin/
  6. [root@nlbtest tong]# ll dst/
  7. total
  8. -rwxrwxrwx. root root May : bin
  9. drwxr-xr-x. root root May : usr
  10. [root@nlbtest tong]#

[daily][archlinux][rsync] rsync的更多相关文章

  1. Linux-非结构化数据同步-Linux下Rsync+Rsync实现非结构化增量差异数据的同步2

    说明: 操作系统:CentOS 5.X 源服务器:192.168.21.129 目标服务器:192.168.21.127,192.168.21.128 目的:把源服务器上/home/www.osyun ...

  2. [daily][archlinux][fonts] 在linux下管理字体

    序: linux是社区搞出来, 商业应用也都是服务器场景.社区里又都是技术人员.字体又是细节.而且会英文早成了标配.所以没有很多社区以外的人力来搞字体这个毫无回报的东西. 结果很自然的,装linux桌 ...

  3. [rsync]——rsync文件同步和备份

    实验环境 (1) Rsync服务器:10.0.10.158 (2) Rsync客户端:10.0.10.173 Rsync服务器端的配置 1. 安装xinetd和rsync # yum install ...

  4. [daily][archlinux] TODO LIST

    reminder: https://wikemacs.org/wiki/Buffer_management TO READ: https://www.kernel.org/doc/htmldocs/k ...

  5. [rsync]rsync设定及错误处理

    server端设置      修改/etc/default/rsync RSYNC_ENABLE=true RSYNC_OPTS='--address=10.192.0.5' RSYNC_NICE=' ...

  6. [daily][archlinux][pacman] local database 损坏

    下午,开心的看着dpdk的文档,做做各种小实验. 后台正常yaourt -Syu,三个多G的下载,我总是过很久才update一次. 然后KDE窗口各种异常,我知道又在开始更x相关的东西了.可是因为X异 ...

  7. [daily][archlinux][mdadm][RAID] 软RAID

    一, 使用mdadm创建RAID 参考:https://wiki.archlinux.org/index.php/RAID 1.  安装 mdadm /home/tong [tong@TStation ...

  8. [daily][archlinux][btrfs][mysql] 在btrfs上使用mariadb

    在btrfs上使用mariadb的时候,需要注意关闭btrfs的Copy on Write (/var/lib/mysql目录) 如下: ┬─[tong@T7:~/Data/anthropoid]─[ ...

  9. [daily][archlinux][game] 几个linux下还不错的游戏

    春节在家放松, 装了几个游戏在archlinux上,玩起来还不错. 假期结束开工了, 玩的时间也会比较少,准备删掉, 记录如下: 1. 0ad 即时战略类, 类似于冷兵器时代的红警. 画面还不错, 可 ...

随机推荐

  1. 升级python(linux)

    查看系统当前python版本 2: [root@wangyuelou ~]# python     Python 2.4.3 (#1, May  5 2011, 16:39:10)     [GCC ...

  2. Python list 常用方法总结

    一,创建列表  只要把逗号分隔的不同的数据项使用方括号([ ])括起来即可 下标(角标,索引)从0开始,最后一个元素的下标可以写-1 list  =  ['1',‘2,‘3’] list = [] 空 ...

  3. 【iCore1S 双核心板_FPGA】例程九:锁相环实验——锁相环的使用

    实验现象: 利用Quartus内部组件生成锁相环,用SignalTap II进行校验. 核心代码: //--------------------Module_PLL------------------ ...

  4. Repeater数据控件的两个重要事件ItemDataBound 和 ItemCommand

    1 ItemDataBound:数据绑定的时候(正在进行时)发生. 2 ItemCommand :用来响应Item模板中的控件的事件. 如下代码 aspx代码: [html] view plain c ...

  5. mac上Python多版本共存(python2.7.10和python3.5.0)

    本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存. 查看当前版本号 python -V 2.7.10 安装配置Python版本管理器pyen ...

  6. 用HTML5+JS开发跨平台的桌面应用

    通过Node.js和WebKit技术的融合,开发者可以用HTML5技术编写UI,同时又能利用Node.js平台上众多library访问本地OS的能力,最终达到用Web技术就可以编写桌面应用的目的. 选 ...

  7. Java知多少(34)final关键字:阻止继承和多态

    在 Java 中,声明类.变量和方法时,可使用关键字 final 来修饰.final 所修饰的数据具有“终态”的特征,表示“最终的”意思.具体规定如下: final 修饰的类不能被继承. final ...

  8. Go语言实践_实现一(客户端)对一(服务器端)聊天室

    一.目的 使用Go语言实现一个服务器端与客户端的聊天室. 软件:Goland,Go1.9 代码仓库地址 二.思路 1,首先启动服务器端,使用listen_socket函数监听IP地址上的客户端连接: ...

  9. plsql 常用函数-转

    PLSQL常用函数 1)处理字符的函数 || 或 CONCAT---并置运算符. 格式∶CONCAT(STRING1, STRING2) 例:’ABC’|| ’DE’=’ABCDE’ CONCAT(‘ ...

  10. [JS] ECMAScript 6 - Inheritance : compare with c#

    这一章,估计是js最操蛋的一部分内容. 现代方法: 简介 Object.getPrototypeOf() super 关键字 类的 prototype 属性和__proto__属性 原生构造函数的继承 ...