综合架构(备份部分)

1. 备份服务概念介绍:

Rsync是一款开源的、快速的、多功能的、可实现**全量****增量****本地****远程**数据同步备份的优秀工具

全量:将目录中所有数据都进行传输备份(可以包含已经备份过的数据)
增量:将目录中新增的数据进行传输备份(可以不用包含已经备份的数据,提高数据传输效率)

本地:相当于cp备份数据  将数据从一个目录备份到另一个目录(在一台主机上进行)
远程:相当于scp备份数据 
      scp命令用法:
	  scp -rp /oldboy/  10.0.0.41:/

2. 备份服务原理概念:

1)增量备份数据原理
   利用算法实现增量备份
	 1)根据checksum算法识别出增量数据,将增量数据进行传递
	 2)根据文件属性信息变化(修改时间/大小),进行数据传递

2) rsync守护进程方式备份数据原理
   1)需要完成用户身份验证
   2)需要将用户身份进行转换 rsync 
   3)需要将备份数据属主和属组进行改变 rsync

3. 备份服务搭建过程:

1. 服务端配置过程:
	第一个历程:确认软件是否安装
	yum install -y rsync
	
	第二个历程:编写配置文件
	cp /etc/rsyncd.conf /etc/rsyncd.conf.bak01
	vim /etc/rsyncd.conf
	#rsync_config
    #created by HQ at 2017
    ##rsyncd.conf start##
    
    uid = rsync                        --- 指定转换用户身份/备份目录管理用户
    gid = rsync                        --- 指定转换用户组身份/备份目录管理用户组
    port = 873                         --- 指定服务端口
    fake super = yes                   --- 是否伪装成一个超级用户 (rsync) 
                                           保证文件权限信息不变/不再显示chgrp命令错误提示	
    use chroot = no                    --- 实现远程传输安全配置
    max connections = 200              --- 最大连接数
    timeout = 300                      --- 连接超时时间
    pid file = /var/run/rsyncd.pid     --- 记录服务进程号码  只有服务启动才会有进程文件
    lock file = /var/run/rsync.lock    --- 控制最大连接数量
    log file = /var/log/rsyncd.log     --- rsync备份服务日志文件
    ignore errors                      --- 忽略错误功能 保证传输数据效率
    read only = false                  --- 针对于备份目录是否是只读 
    list = false                       --- ????
    hosts allow = 172.16.1.0/24        --- 允许哪个主机地址或者网段可以和备份服务器建立连接 (白名单)
    hosts deny = 0.0.0.0/32            --- 拒绝哪个主机地址或者网段可以和备份服务器建立连接 (黑名单)
    auth users = rsync_backup          --- 指定认证用户
    secrets file = /etc/rsync.password --- 指定认证密码文件
    [backup]                           --- 模块名称
    comment = "backup dir by oldboy"   --- 模块注释说明
    path = /backup                     --- 指定备份目录路径
	
	
	==================================================================
	补充说明:rsync软件三种工作方式
	1)本地备份数据工作方式 (类似cp命令功能)
	2)远程备份数据工作方式 (类似scp命令功能)
	3)守护进程备份数据方式 (服务端/客户端)
	==================================================================
	
	第三个历程:创建备份目录管理用户
	创建一个虚拟用户
	# useradd -M -s /sbin/nologin  rsync 
    # id rsync
    uid=1042(rsync) gid=1046(rsync) groups=1046(rsync)
	
	第四个历程:创建一个备份数据目录
	mkdir /backup 
	chown rsync.rsync /backup 
	
	第五个历程:创建一个访问认证文件
	vim /etc/rsync.password   
	rsync_backup:oldboy123
	chmod 600 /etc/rsync.password
	
	第六个历程:启动备份服务程序
	systemctl start rsyncd
	# netstat -lntup|grep rsync
    tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      9114/rsync          
    tcp6       0      0 :::873                  :::*                    LISTEN      9114/rsync
	
	
2. 客户端配置过程:
	
==========================================================================
rsync命令使用方法:
	1)本地备份数据工作方式 (类似cp命令功能)
	   cp -r 备份数据信息  保存数据目录路径
	   rsync 参数 /oldboy/oldboy.txt /tmp
	2)远程备份数据工作方式 (类似scp命令功能)
	   拉取数据:客户端将数据进行下载 <-- 备份服务器  还原
	   rsync 参数  远程主机地址或者名称:拉取的数据信息    本地保存数据目录信息
	   rsync 172.16.1.31:/oldboy/oldgirl.txt /tmp
	   
	   推送数据:客户端将数据进行上传 --> 备份服务器  备份 
	   rsync 参数  本地需要备份推送数据  远程主机地址或者名称:/备份数据路径信息
	   rsync /oldboy/oldboy.txt nfs01:/tmp
	
	   PS:rsync在推送目录数据时,目录后面有 / 和 没有/有本地区别
	   有   /    将目录下面数据内容进行推送传输
	   没有 /    将目录本身以及下面数据内容都进行推送传输
	3)守护进程备份数据方式 (服务端/客户端)
	   拉取数据: 
	   rsync [OPTION...] [USER@]HOST::SRC... [DEST]
	   rsync 参数  认证用户名称@服务端主机名称或地址::模块信息   本地保存数据路径
	   rsync -r rsync_backup@172.16.1.41::backup  /tmp/
	   
	   推送数据: 
	   rsync 参数  本地需要推送数据  认证用户名称@服务端主机名或地址::模块信息
	   rsync -r /oldboy  rsync_backup@172.16.1.41::backup
==========================================================================

4. 备份服务常见问题:

01. 远程方式rsync  原理 借助SSH协议
    [root@backup 19:14:39 ~]# rsync 172.16.1.31:/oldboy/oldgirl.txt /tmp
    ssh: connect to host 172.16.1.31 port 22: Connection refused
    rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
    rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]
	学生环境 和 讲师环境不一致
	
02. 
    [root@color~11:14:33]#rsync -r ~/01 10.0.0.41 /tmp
    rsync: link_stat "/root/10.0.0.41" failed: No such file or directory (2)
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]
	语法结构错误
	
	[root@color~11:18:13]#   rsync -r /01  rsync_backup@172.16.1.41::backup
    Password: 
    @ERROR: auth failed on module backup
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

03. 
    @ERROR: auth failed on module backup
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]
    认证用户名 或 密码出现问题

04. 
    rsync 172.16.1.31:/oldboy/oldgirl.txt /tmp  
    The authenticity of host '172.16.1.31 (172.16.1.31)' can't be established.
    ECDSA key fingerprint is SHA256:u9ckyJIp65sERvUFvyXl2ukmdzNLYIS3ARiEh+AKrJE.
    ECDSA key fingerprint is MD5:93:02:47:a2:14:b9:f1:41:e5:ec:4c:28:68:bc:56:54.
    Are you sure you want to continue connecting (yes/no)? y
    Please type 'yes' or 'no': yes
    Warning: Permanently added '172.16.1.31' (ECDSA) to the list of known hosts.
    root@172.16.1.31's password: 
    Permission denied, please try again.
    root@172.16.1.31's password: 
    rsync: change_dir "/oldboy" failed: No such file or directory (2)
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1650) [Receiver=3.1.2]
    rsync: [Receiver] write error: Broken pipe (32)

    确认拉取或推送的数据是否存在
	
05. 
    root@sunhaoxu001 ~ 11:42:43]# rsync -avz rsync_backup@172.16.1.41::backup /backup/
    @ERROR: Unknown module 'backup'
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [Receiver=3.1.2]
    
    在编辑linux系统文件时, 如果使用了复制信息方法,需要从记事本中复制,不要从一些文档软件中复制	

5. 备份服务命令参数:

	-z, --compress(压缩)-----------compress file data during the transfer  
	                                将传输文件数据进行压缩处理
	-v, --verbose-------------------increase verbosity
	                                显示数据传输详细过程
	-a, --archive-------------------archive mode; equals -rlptgoD 
                                    归档模式参数; -a参数等价于输入 -rlptgoD
	-r, --recursive-----------------recurse into directories
	                                远程传输目录信息
	-l, --links---------------------copy symlinks as symlinks	
                                    是否可以将链接类型文件进行传输(没有什么意义)
	-p, --perms---------------------preserve permissions	
                                    保持权限信息不变	
	-t, --times---------------------preserve modification times
									保持修改时间不变
	-o, --owner---------------------preserve owner (super-user only)									
									保持文件属主信息不变
	-g, --group---------------------preserve group	
                                    保持文件属组信息不变
    -q, --quiet---------------------suppress non-error messages
                                    精简模式输出
    -D------------------------------same as --devices --specials	
                                    是否可以将设备文件进行传输
    -L, --copy-links----------------transform symlink into referent file/dir
                                    将链接文件指向的源文件的真实数据进行传递
    -P------------------------------same as --partial --progress	
	                                显示数据传输进度信息
    -c, --checksum------------------skip based on checksum, not mod-time & size
	                                打开校验开关,强制对文件传输进行校验
    -R, --relative------------------use relative path names
	                                使用相对路径信息
    -b, --backup--------------------make backups(see--suffix&--backup-dir)
	                                创建备份
    -u, --update--------------------skip files that are newer on the receiver
	                                仅仅进行更新,跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
    -d, --dirs----------------------transfer directories without recursing
	                                不递归的转移目录
    -k, --copy-dirlinks-------------transform symlink to a dir into referent dir
	                                将指向目录的符号链接转换为引用目录
    -K, --keep-dirlinks-------------treat symlinked dir on receiver as dir
	                                将接收器上的符号链接目录视为目录
    -H, --hard-links----------------preserve hard links
	                                保留硬链接
    -E, --executability-------------preserve the file's executability
	                                保持文件的可执行性
    -A, --acls----------------------preserve ACLs (implies --perms)
	                                保存acl(暗指——perms)
    -X, --xattrs--------------------preserve extended attributes
	                                保存扩展属性
    -O, --omit-dir-times------------omit directories from --times
	                                省略——时间中的目录
    -J, --omit-link-times-----------omit symlinks from --times
	                                忽略——times中的符号链接
    -S, --sparse--------------------handle sparse files efficiently
	                                对稀疏文件进行特殊处理以节省DST的空间
    -n, --dry-run-------------------perform a trial run with no changes made
	                                现实哪些文件将被传输
    -W, --whole-file----------------copy files whole (without delta-xfer algorithm)
	                                拷贝文件,不进行增量检测
    -x, --one-file-system-----------don't cross filesystem boundaries
	                                不要跨越文件系统边界
    -B, --block-size=SIZE-----------force a fixed checksum block-size
	                                检验算法使用的块尺寸,默认是700字节
    -e, --rsh=COMMAND---------------specify the remote shell to use
	                                指定使用rsh、ssh方式进行数据同步
    -C, --cvs-exclude---------------auto-ignore files the same way CVS does
	                                使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
    -I, --ignore-times--------------don't skip files that match in size and mod-time
	                                不跳过那些有同样的时间和长度的文件
	-T, --temp-dir=DIR--------------create temporary files in directory DIRDIR中创建临时文件
	                                
    --rsync-path=PROGRAM------------specify the rsync to run on the remote machine
	                                指定远程服务器上的rsync命令所在路径信息
    --existing----------------------skip creating new files on receiver
	                                仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
	--remove-source-files-----------sender removes synchronized files (non-dirs)
	                                发送方删除同步文件(非dirs)
    --del---------------------------an alias for --delete-during
	                                删除期间的别名
    --delete------------------------delete extraneous files from destination dirs
	                                删除那些DSTSRC没有的文件
    --delete-after------------------receiver deletes after transfer, not during
	                                传输结束以后再删除
    --delete-before-----------------receiver deletes before transfer, not during
	                                接收端在传输之前删除,而不是传输期间
    --delete-excluded---------------also delete excluded files from destination dirs
	                                同样删除接收端那些被该选项指定排除的文件
    --delete-during-----------------receiver deletes during the transfer
	                                接收端在传输过程中删除
    --delete-delay------------------find deletions during, delete after
	                                查找删除期间,删除后
    --ignore-errors-----------------delete even if there are I/O errors
	                                及时出现IO错误也进行删除
    --ignore-missing-args-----------ignore missing source args without error
	                                忽略丢失的源参数没有错误
    --delete-missing-args-----------delete missing source args from destination
	                                从目标中删除丢失的源目标
    --force-------------------------force deletion of directories even if not empty
                                    强制删除目录,即使不为空
    --max-delete=NUM----------------don't delete more than NUM files
                                    最多删除NUM个文件
    --progress----------------------show progress during transfer
                                    显示备份过程
    --numeric-ids-------------------don't map uid/gid values by user/group name
                                    不将数字的用户和组ID匹配为用户名和组名
    --size-only---------------------skip files that match in size
                                    当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
    --modify-window=NUM-------------compare mod-times with reduced accuracy
                                    决定文件是否时间相同时使用的时间戳窗口,默认为0
    --compare-dest=DIR--------------also compare destination files relative to DIR
                                    同样比较DIR中的文件来决定是否需要备份
    --password-file=FILE------------read daemon-access password from FILEFILE中得到密码
    --exclude=PATTERN---------------exclude files matching PATTERN
                                    指定排除不需要传输的文件模式
    --exclude-from=FILE-------------read exclude patterns from FILE
                                    排除FILE中指定模式的文件
    --include=PATTERN---------------don't exclude files matching PATTERN
                                    指定不排除而需要传输的文件模式
    --include-from=FILE-------------read include patterns from FILE
                                    不排除FILE指定模式匹配的文件
    --partial-----------------------keep partially transferred files
                                    保留那些因故没有完全传输的文件,以是加快随后的再次传输
    --address=ADDRESS---------------bind address for outgoing socket to daemon
                                    绑定到特定的地址
    --port=PORT---------------------specify double-colon alternate port number
                                    指定其他的rsync服务端口
    --blocking-io-------------------use blocking I/O for the remote shell
                                    对远程shell使用阻塞IO
    --stats-------------------------give some file-transfer stats
                                    给出某些文件的传输状态
    -8, --8-bit-output--------------leave high-bit chars unescaped in output
                                    在输出中保留高位字符
    -h, --human-readable------------output numbers in a human-readable format
                                    以人类可读的格式输出数字
    -i, --itemize-changes-----------output a change-summary for all updates
                                    输出所有更新的更改摘要
    -m, --prune-empty-dirs----------prune empty directory chains from the file-list
                                    从文件列表中删除空的目录链
    -M, --remote-option=OPTION------send OPTION to the remote side only
                                    仅向远程端发送选项
    -y, --fuzzy---------------------find similar file for basis if no dest file
                                    如果没有dest档案,寻找相似的基础档案
    -f, --filter=RULE---------------add a file-filtering RULE
                                    添加文件过滤规则
    -F------------------------------same as --filter='dir-merge /.rsync-filter'
                                    与——filter='dir-merge /.rsync-filter'相同
    -0, --from0---------------------all *-from/filter files are delimited by 0s
                                    所有*-from/filter文件都用0分隔
    -s, --protect-args--------------no space-splitting; only wildcard special-chars
                                    没有空间分裂;只有通配符special-chars
    --copy-unsafe-links-------------仅仅拷贝指向SRC路径目录树以外的链结
    --safe-links--------------------忽略指向SRC路径目录树以外的链结
    --timeout=TIME IP---------------超时时间,单位为秒
    --config=FILE-------------------指定其他的配置文件,不使用默认的rsyncd.conf文件
    --version-----------------------打印版本信息
    --log-format=formAT-------------指定日志文件格式
    --bwlimit=KBPS------------------限制I/O带宽
                                    KBytes per second:k字节每秒
    --max-size=SIZE-----------------don't transfer any file larger than SIZE
                                    不要传输任何大于文件大小的文件
    --min-size=SIZE-----------------don't transfer any file smaller than SIZE
                                    不要传输任何小于文件大小的文件
    --partial-dir=DIR---------------put a partially transferred file into DIR
                                    将部分传输的文件放入DIR目录
    --delay-updates-----------------put all updated files into place at transfer's end
                                    将所有更新后的文件放在传输端
    --usermap=STRING----------------custom username mapping
                                    自定义用户名映射
    --groupmap=STRING---------------custom groupname mapping
                                    定制用户组名映射
    --chown=USER:GROUP--------------simple username/groupname mapping
                                    简单的用户名/ groupname映射
    --timeout=SECONDS---------------set I/O timeout in seconds
                                    设置I/O超时(以秒为单位)
    --contimeout=SECONDS------------set daemon connection timeout in seconds
                                    设置守护进程连接超时(以秒为单位)
    --copy-dest=DIR-----------------and include copies of unchanged files
                                    并包括未更改文件的副本
    --link-dest=DIR-----------------hardlink to files in DIR when unchanged
                                    当未更改时,硬链接到目录中的文件
    --files-from=FILE---------------read list of source-file names from FILE
                                    从文件中读取源文件名列表
    --sockopts=OPTIONS--------------specify custom TCP options
                                    指定自定义TCP选项
    --out-format=FORMAT-------------output updates using the specified FORMAT
                                    使用指定格式的输出更新
    --log-file=FILE-----------------log what we're doing to the specified FILE
                                    将我们正在做的事情记录到指定的文件中
    --log-file-format=FMT-----------log updates using the specified FMT
                                    使用指定的FMT进行日志更新
    --list-only---------------------list the files instead of copying them
                                    列出文件而不是复制它们
    --bwlimit=RATE------------------limit socket I/O bandwidth
                                    限制插座I/O带宽
    --outbuf=N|L|B------------------set output buffering to None, Line, or Block
                                    将输出缓冲设置为None、Line或Block
    --write-batch=FILE--------------write a batched update to FILE
                                    写一个批量更新到文件
    --read-batch=FILE---------------read a batched update from FILE
                                    从文件中读取批量更新
    --protocol=NUM------------------force an older protocol version to be used
                                    强制使用旧的协议版本
    --iconv=CONVERT_SPEC------------request charset conversion of filenames
                                    请求字符集转换文件名
    --checksum-seed=NUM-------------set block/file checksum seed (advanced)
                                    设置块/文件校验和种子(高级)

6. 备份服务企业应用:

1)备份服务多模块配置
   需求:将开发人员 运维人员 数据库人员备份数据进行隔离
   
   操作说明:
   第一个历程:修改配置文件,添加多个模块信息
   [sa_backup]
   comment = "backup dir by oldboy"
   path = /sa_backup
   [dev_backup]
   comment = "backup dir by oldboy"
   path = /dev_backup
   
   第二个历程:创建模块对应目录信息
   mkdir /sa_backup  /dev_backup
   chown rsync.rsync  /sa_backup  /dev_backup
   
   第三个历程:重启服务程序
   systemctl restart rsyncd 
   
2)备份服务模块目录中如何创建子目录
   需求:将运维人员oldboy01数据 和 oldboy02数据进行区分
         将不同主机数据进行区分
   操作说明:
   rsync -avz /etc/hosts  rsync_backup@172.16.1.41::sa_backup/172.16.1.31/
   PS: 默认不支持创建多级目录

3)实现排除指定数据信息进行备份
   环境准备:
   mkdir oldboy{01..03}
   touch oldboy{01..03}/{a..c}.txt
   ├── oldboy01
   │?? ├── a.txt
   │?? ├── b.txt
   │?? └── c.txt
   ├── oldboy02
   │?? ├── a.txt
   │?? ├── b.txt
   │?? └── c.txt
   └── oldboy03
       ├── a.txt
       ├── b.txt
       └── c.txt
	   
   需求1:不想让oldboy01中的,a.txt文件进行备份
   --exclude   --- 排除指定数据不要进行传输同步
   rsync -avz /oldboy/ --exclude=oldboy01/a.txt rsync_backup@172.16.1.41::sa_backup

   需求2:需要排除多个文件或者目录数据信息时
   第一种方法:直接在命令行添加
   rsync -avz /oldboy/ --exclude=oldboy01/a.txt --exclude=oldboy02/b.txt --exclude=oldboy03/c.txt  rsync_backup@172.16.1.41::sa_backup
   第二种方法:利用--exclude-from   --- 加载一个文件可以实现排除多个数据信息
   第一个历程:编写一个排除文件
   oldboy01/a.txt
   oldboy02/b.txt
   oldboy03/c.txt
   PS:排除数据信息写成相对路径, 相对于传输目录而言
   
   第二个历程:执行排除数据命令
   rsync -avz /oldboy/ --exclude-from=/opt/exlude_file.txt  rsync_backup@172.16.1.41::sa_backup

4)备份数据采用无差异同步数据 (慎用)
   实现客户端和服务端数据一致
   rsync -avz /oldboy/ --delete rsync_backup@172.16.1.41::sa_backup
   意义:保证存储服务器用户数据信息和备份器数据信息高度一致
   
5)实现免交互自动备份数据功能
   定时任务/实时同步
   客户端操作:
   第一个历程:创建密码文件
   vim /etc/rsync.password
   oldboy123
   chmod 600 /etc/rsync.password
   
   第二个历程:进行免密码传输数据测试
   rsync -avz /oldboy/ rsync_backup@172.16.1.41::sa_backup --password-file=/etc/rsync.password

6)实现数据备份访问控制功能
   hosts allow = 172.16.1.0/24    白名单:允许哪些主机或网段进行传输
   hosts deny = 0.0.0.0/32        黑名单:拒绝内些主机或网段进行传输
   
   访问控制原理:
   参见图示:
     
   企业应用: 只是选择一种名单即可, 不用白名单和黑名单同时存在
   ==========================================================================
   备份范围全局配置和局部配置:
   全局配置:配置文件中模块以外配置称为全局配置
             影响所有模块功能
   局部配置:配置文件中模块以内配置称为局部配置
             只是影响指定模块功能 局部配置优先于全局配置
   ==========================================================================

7)数据传输限速功能
   开发人员(家里)	--- 互联网 -电信/联通/移动 100M- 路由器  ---- 网站备份服务器
   网站用户        	--- 互联网                            ---- web服务器
   --bwlimit=KBps          limit socket I/O bandwidth 

   ==========================================================================	
	补充:配置文件中list参数
    当list参数配置为true时,客户端可以获取服务端所有模块列表信息
	# rsync rsync_backup@172.16.1.41::
    sa_backup      	"oldboy"
    dev_backup     	"oldgirl"
    ==========================================================================	

7. 备份服务常见问题:

01. 远程方式rsync  原理 借助SSH协议
    [root@backup 19:14:39 ~]# rsync 172.16.1.31:/oldboy/oldgirl.txt /tmp
    ssh: connect to host 172.16.1.31 port 22: Connection refused
    rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
    rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.2]
	学生环境 和 讲师环境不一致
	
02. 
    [root@color~11:14:33]#rsync -r ~/01 10.0.0.41 /tmp
    rsync: link_stat "/root/10.0.0.41" failed: No such file or directory (2)
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]
	语法结构错误
	
	[root@color~11:18:13]#   rsync -r /01  rsync_backup@172.16.1.41::backup
    Password: 
    @ERROR: auth failed on module backup
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

03. 
    @ERROR: auth failed on module backup
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]
    认证用户名 或 密码出现问题

04. 
    rsync 172.16.1.31:/oldboy/oldgirl.txt /tmp  
    The authenticity of host '172.16.1.31 (172.16.1.31)' can't be established.
    ECDSA key fingerprint is SHA256:u9ckyJIp65sERvUFvyXl2ukmdzNLYIS3ARiEh+AKrJE.
    ECDSA key fingerprint is MD5:93:02:47:a2:14:b9:f1:41:e5:ec:4c:28:68:bc:56:54.
    Are you sure you want to continue connecting (yes/no)? y
    Please type 'yes' or 'no': yes
    Warning: Permanently added '172.16.1.31' (ECDSA) to the list of known hosts.
    root@172.16.1.31's password: 
    Permission denied, please try again.
    root@172.16.1.31's password: 
    rsync: change_dir "/oldboy" failed: No such file or directory (2)
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1650) [Receiver=3.1.2]
    rsync: [Receiver] write error: Broken pipe (32)

    确认拉取或推送的数据是否存在
	
05. 
    root@sunhaoxu001 ~ 11:42:43]# rsync -avz rsync_backup@172.16.1.41::backup /backup/
    @ERROR: Unknown module 'backup'
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [Receiver=3.1.2]
    
    在编辑linux系统文件时, 如果使用了复制信息方法,需要从记事本中复制,不要从一些文档软件中复制	

你可能感兴趣的:(综合架构(备份部分))