第422集集群架构-Rsync数据同步备份 | 字数总计: 5.9k | 阅读时长: 25分钟 | 阅读量:
集群架构 - Rsync数据同步备份 1. Rsync基本概述 1.1 Rsync简介 Rsync是开源多功能同步工具,支持多种操作系统。
Rsync特点 :
支持本地复制(优于scp、cp)与远程同步
支持全量备份、增量备份
基于C/S架构,默认监听tcp 873端口
Rsync官网 : https://rsync.samba.org/
1.2 Rsync优点
支持增量备份 : 第一次全量备份,第二次增量备份,边复制、边比较、边统计,传输效率很高
数据集中备份 : 客户端可以推送数据至服务端,也可以从服务端获取数据,以客户端为参照物
保持文件属性 : 符号链接、硬链接、权限、时间等
安全方式传输 : rsync本身不对数据加密,使用ssh作为传输端口
指定排除文件 : 排除无需同步的文件或目录
进程方式同步 : rsync运行在C/S架构,通过进程方式传输文件或数据
1.3 Rsync缺点
大量小文件同步会比较慢 : 需要比对较长时间,有可能会造成Rsync进程停止
解决思路 : 将小文件进行打包,然后再同步,减少比对时间,传输效率更高
同步大文件会出现中断情况 : 而且长时间同步会造成网络资源被耗尽
解决思路 : 配置限速同步,未同步完之前修改为隐藏文件,同步完成后修改为正常文件
2. Rsync命令详解 2.1 Rsync命令格式 1 2 3 4 5 6 rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST rsync [OPTION...] SRC... [USER@]HOST:DEST
2.2 Rsync常用选项
参数选项
选项说明
-a
归档模式传输,等于-tropgDl
-v
详细模式输出,打印速率、文件数量等
-z
传输时进行压缩以提高效率
-r
递归传输目录及子目录,即目录下得所有目录都同样传输
-t
保持文件时间信息
-o
保持文件属主信息
-p
保持文件权限
-g
保持文件属组信息
-l
保留软连接
-P
显示同步的过程及传输时的进度等信息
-D
保持设备文件信息
-L
保留软连接指向的目标文件
-e
使用的信道协议,指定替代rsh的shell程序
--exclude=PATTERN
指定排除不需要传输的文件模式
--exclude-from=file
文件名所在的目录文件
--bwlimit=100
限速传输
--partial
断点续传
--delete
让目标目录和源目录数据保持一致
2.3 Rsync传输模式 Rsync大致使用三种主要的传输数据的方式:
传输模式
说明
特点
本地传输(local)
单个主机本地之间的数据传输
此时类似于cp命令
远程通道传输(remote shell)
通过ssh通道传输数据
类似scp命令
守护进程传输(daemon)
rsync自身非常重要的功能
使用rsync协议
2.4 本地传输方式 单个主机本地之间的数据传输(此时类似于cp命令)。
1 2 3 4 5 6 [root@nfs01 ~] [root@nfs01 ~] [root@nfs01 ~]
2.5 远程通道传输方式 通过ssh通道传输数据,类似scp命令。
Push:推送本地数据至远端(上传)
Pull:拉取远端数据至本地(下载)
2.6 守护进程传输方式 rsync自身非常重要的功能。
推送数据到备份服务器 1 2 rsync -avz /mnt/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password
拉取备份服务器数据 1 2 rsync -avz rsync_backup@172.16.56.11::backup/ /mnt/ --password-file=/etc/rsync.password
3. Rsync同步实践 3.1 Rsync服务端配置 步骤1: 安装rsync软件 1 2 3 4 5 6 [root@backup ~] [root@backup ~] rsync-3.0.6-12.el6.x86_64
步骤2: 配置rsyncd.conf
完整配置示例 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 uid = rsync gid = rsync port = 873 use chroot = no max connections = 2000 timeout = 600pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.logignore errors read only = false list = false address = 172.16.56.11 hosts allow = 172.16.56.0/24 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password [backup] path = /backup
配置文件详解 :
参数
说明
uid = rsync
以rsync用户身份来传输数据
gid = rsync
以rsync用户组身份来传输数据
port = 873
监听端口默认为873
use chroot = no
程序出现问题就会开启,开启给个空目录就行
max connections = 2000
指定最大可连接的客户端数
timeout = 600
超时时间
pid file = /var/run/rsyncd.pid
进程pid存放
lock file = /var/run/rsync.lock
锁文件
log file = /var/log/rsyncd.log
日志文件
ignore errors
忽略错误
read only = false
可读写
list = false
不允许列出模块名
address = 172.16.56.11
监听内网服务端地址,同步安全优化操作
hosts allow = 172.16.56.0/24
允许那个地址段访问
hosts deny = 0.0.0.0/32
拒绝,一般不使用
auth users = rsync_backup
验证时的虚拟用户,与系统用户无关
secrets file = /etc/rsync.password
指定密码文件
[backup]
模块名称,自定义
path = /backup
指定该模块对应哪个目录
多模块配置示例 :
1 2 3 4 5 [backup] path = /backup [data] path = /data
步骤3: 建立虚拟用户并授权 1 2 3 4 5 6 [root@backup ~] [root@backup ~] [root@backup ~]
步骤4: 创建密码文件 1 2 3 [root@backup ~] [root@backup ~]
密码文件格式 : 用户名:密码
步骤5: 启动Rsync服务 1 2 3 4 5 6 7 8 [root@backup ~] [root@backup ~] [root@backup ~]
步骤6: 编写启动脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #!/bin/bash source /etc/init.d/functionsfunction start () { rsync_pid_dir=/var/run/rsyncd.pid if [ ! -f /var/run/rsyncd.pid ];then /usr/bin/rsync --daemon action "rsync is daemon" /bin/true else action "rsync is start" /bin/false exit 1 fi } function stop (){ kill_pid=$(ps aux|grep rsync|grep -v grep|awk '{print $2}' ) proce_pid=$(ps aux|grep rsync|grep -v grep|wc -l) if [ "$proce_pid " -eq 0 ];then action "rsync is no start" /bin/false else /bin/kill -9 $kill_pid &>/dev/null rm -f /var/run/rsyncd.pid &>/dev/null action "rsync is off" /bin/true fi } case $1 in start) start ;; stop) stop ;; restart) stop start ;; *) echo "USAGE: start|stop|restart" esac
1 2 3 4 5 chmod +x /etc/init.d/rsyncd[root@backup ~]
注意 : 启动后需要检查对应进程和端口。
3.2 Rsync客户端配置 步骤1: 安装rsync
步骤2: 配置密码文件 1 2 3 4 [root@nfs01 ~] [root@nfs01 ~]
步骤3: 推送数据给rsync服务端
步骤4: 拉取rsync服务端数据至本地
3.3 无差异备份数据 拉取远端数据 远端与本地保持一致,远端没有本地有会被删除,造成客户端数据丢失。
推送数据至远端 本地与远端保持一致,本地没有远端会被删除,造成服务器端数据丢失。
警告 : 使用--delete参数要谨慎,确保数据安全。
3.4 定时备份数据 Rsync配合crond定时推送数据。
1 2 [root@nfs-server scripts]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #!/bin/bash Client_BackupDIR=/backup-A Client_Host=$(hostname) Client_IP=$(/sbin/ifconfig eth1|awk 'NR==2' |awk '{print $2}' |awk -F ':' '{print $2}' ) Client_Date=$(date +%F) Client_Date_file=$(date +%H_%M) Client_Desc_DIR="$Client_BackupDIR " /"$Client_Host " _"$Client_IP " _"$Client_Date " Server_User=rsync_backup Server_IP=172.16.56.11 Server_mode=backup/ Server_pass=/etc/rsync.password mkdir -p $Client_Desc_DIR /bin/cp /var/spool/cron/root $Client_Desc_DIR /cron_root_$Client_Date_file /bin/cp /etc/fstab $Client_Desc_DIR /etc_fstab_$Client_Date_file /bin/cp /etc/rc.d/rc.local $Client_Desc_DIR /etc_rc.local_$Client_Date_file rsync -avz $Client_BackupDIR / $Server_User @$Server_IP ::$Server_mode / --password-file=$Server_pass
1 2 3 4 5 6 7 chmod +x rsync_crond_backup.shcrontab -e 0 2 * * * /path/to/rsync_crond_backup.sh
3.5 排除文件备份数据 排除单个文件 1 rsync -avz --exclude=a /backup/ rsync_backup@172.16.56.12::backup --password-file=/etc/rsync.password
排除多个文件 1 2 3 4 5 6 7 8 rsync -avz --exclude={a,b} /backup/ rsync_backup@172.16.56.12::backup --password-file=/etc/rsync.password rsync -avz --exclude=a --exclude=b /backup/ rsync_backup@172.16.56.12::backup --password-file=/etc/rsync.password rsync -avz --exclude={a..g} /backup/ rsync_backup@172.16.56.12::backup --password-file=/etc/rsync.password
使用排除文件列表 1 2 3 4 5 6 7 8 9 10 cat > /etc/rsync_exclude.txt <<EOF *.log *.tmp cache/ temp/ EOF rsync -avz --exclude-from=/etc/rsync_exclude.txt /backup/ rsync_backup@172.16.56.12::backup --password-file=/etc/rsync.password
4. Rsync故障处理 4.1 Rsync服务端排错思路
关闭防火墙以及selinux
确认配置文件 /etc/rsyncd.conf
配置允许网段以及对应的模块
创建对应的备份目录,并设定rsync用户权限
启动rsync服务以后台运行,检查进程和端口tcp/873
建立虚拟账户和密码,权限600
4.2 Rsync客户端排错思路
网络是否能通,telnet端口是否正常
配置文件密码是否正确,权限设定600,注意:只需要密码,并且和服务端的密码一致
推送和拉取数据时,模块前加双冒号
4.3 常见错误及解决方法 错误1: Connection refused 1 2 3 4 5 6 ps aux | grep rsync ss -lntup | grep 873 firewall-cmd --list-all
错误2: auth failed 1 2 3 4 5 6 ls -l /etc/rsync.passwordchmod 600 /etc/rsync.passwordcat /etc/rsync.password
错误3: Unknown module 1 2 3 4 5 rsync rsync_backup@172.16.56.11:: cat /etc/rsyncd.conf | grep "^\["
5. Rsync+Inotify实践 5.1 Inotify概述 Rsync实现对远程服务器数据的增量备份,但Rsync自身也有瓶颈,rsync同步数据时采用核心算法对远程服务器的目标文件进行比对,只同步差异文件。如果服务器的文件数量达到百万或千万级别,文件对比将会非常消耗时间,而且往往只是其中很少一部分数据发生变化,这样同步就显得非常低效,Inotify的出现,刚好可以缓解Rsync的不足。
Inotify简介 :
Inotify是异步的文件系统事件监控机制
Linux从2.6.13内核起,加入了Inotify的支持
Inotify可以监控文件系统中添加、删除、修改、移动等事件
利用这个内核接口,第三方软件就可以监控文件系统中发生变化的文件
inotify-tools正是实施这样监控的软件
(国人周洋在金山公司开发sersync)
Inotify特点 :
Inotify实际是一种事件驱动机制,它为应用程序监控文件系统事件提供了实时响应事件的机制,而无须通过诸如cron等的轮询机制来获取事件
crond机制无法做到实时性,同时也消耗大量系统资源
相比之下,inotify基于事件驱动,可以做到对事件实时处理及响应,也没有轮询造成的系统资源消耗
特别说明 : 下面的inotify配置是建立在rsync服务基础上的配置过程。
5.2 环境准备 Rsync配置参考Rsync实战,通过客户端验证rsync推送数据,然后配置inotify服务。
1 2 rsync -avz /backup rsync_backup@172.16.56.12::backup/ --password-file=/etc/rsync.password
5.3 客户端配置Inotify 步骤1: 安装inotify 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@lamp1 ~] 2.6.32-504.el6.x86_64 [root@lamp1 ~] -rw-r--r-- 1 root root 0 Aug 27 07:23 max_queued_events -rw-r--r-- 1 root root 0 Aug 27 07:23 max_user_instances -rw-r--r-- 1 root root 0 Aug 27 07:23 max_user_watches wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@web01 ~]
步骤2: 配置并优化inotify 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cat >> /etc/sysctl.conf <<EOF fs.inotify.max_queued_events=99999999 fs.inotify.max_user_watches=99999999 fs.inotify.max_user_instances=65535 EOF sysctl -p
参数说明 :
max_queued_events: inotify队列最大长度,如果值太小,会出现”** Event Queue Overflow **”错误,导致监控文件不准确
max_user_watches: 要同步的文件包含多少目录,可以用find /home/xuliangwei.com -type d | wc -l统计,必须保证max_user_watches值大于统计结果(这里/home/xuliangwei.com为同步文件目录)
max_user_instances: 每个用户创建inotify实例最大值
注意 : inotify在实际生产环境中,对于50-200KB的文件,inotify的最发并发量为200-300,如果客户端写入速度大于这个量,将会造成短暂的延迟。
步骤3: Inotify工具集介绍 1 2 3 4 [root@xuliangwei ~] /usr/bin/inotifywait //监控文件或目录的变化 /usr/bin/inotifywatch //统计文件系统访问次数
inotifywait命令常用参数 :
参数
说明
-m
持续监视变化
-r
递归形式监视目录
-q
打印需要的信息
-e
指定监视事件
--timefmt
自定义时间格式,常用参数’%y/%m/%d %H:%M’
--format
自定义输出格式信息
常用格式符 :
%e: 使用了什么事件
%T: 时间
%w: 显示被监控文件的文件名
%f: 如果发生某事件的对象是目录,则显示被监控
监听事件列表 :
事件
说明
open
打开,文件或目录被打开
access
访问,读取文件
modify
修改,文件内容被修改
attrib
属性,文件元数据被修改
create
创建,创建文件或目录
close
关闭,对文件进行关闭操作
delete
删除,文件或目录被删除
move
移动,对文件进行移动操作
moved_to
移动,文件或目录移动到当前目录
moved_from
移动,文件或目录从当前目录移动至其他目录
步骤4: 使用inotify实时监控文件或目录变化 1 2 inotifywait -mrq --format '%e %T %w%f' --timefmt '%y/%m/%d %H:%M' -e close_write,modify,delete,create,attrib,move /backup/
步骤5: 建立inotify实时同步脚本
1 2 3 4 5 6 7 8 #!/bin/bash cmd="/usr/bin/inotifywait" $cmd -mrq --format '%w%f' -e create,close_wait,delete /backup\|while read line do [ ! -e "$line " ]&& continue rsync -az --delete $line rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password done
优化版本 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #!/bin/bash SRC_DIR="/backup" DEST_USER="rsync_backup" DEST_HOST="172.16.56.11" DEST_MODULE="backup" PASS_FILE="/etc/rsync.password" /usr/bin/inotifywait -mrq --format '%w%f' -e create,close_write,delete,moved_to,moved_from ${SRC_DIR} | while read line do [ ! -e "$line " ] && continue if [ -d "$line " ]; then rsync -az --delete "$line " ${DEST_USER} @${DEST_HOST} ::${DEST_MODULE} / --password-file=${PASS_FILE} else rsync -az "$line " ${DEST_USER} @${DEST_HOST} ::${DEST_MODULE} / --password-file=${PASS_FILE} fi done
1 2 3 4 5 chmod +x /soft/scripts/inotify.shnohup /soft/scripts/inotify.sh > /var/log/inotify.log 2>&1 &
步骤6: 配置inotify开机自动运行 1 2 3 4 5 6 [root@lamp1 ~] [root@lamp1 ~] /bin/sh /server/scripts/inotify.sh
5.4 源码安装inotify(可选) 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@lamp1 tools] tar xf inotify-tools-3.14.tar.gz cd inotify-tools-3.14[root@lamp1 inotify-tools-3.14] [root@lamp1 inotify-tools-3.14] [root@lamp1 ~]
6. Rsync数据备份案例 6.1 项目需求 已知3台服务器主机名分别为web01、backup、nfs,主机信息见下表。
要求 : 每天晚上01点整在Web服务器上打包备份系统配置文件、日志文件、其他目录,并通过rsync命令推送备份服务器backup上备份保留。
备份思路 : 所有服务器在本地按日期打包,然后再推到备份服务器backup上。
6.2 具体要求
所有服务器的备份目录必须都为/backup
备份的系统配置文件包括但不限于:
配置文件:/etc/rc.local、/etc/fstab、/etc/hosts
重要目录:/var/spool/cron/、/etc/firewalld、/soft/scripts
系统日志文件:/var/log/
应用程序日志:/soft/log/nginx、/soft/log/mysql、/soft/log/php、/soft/log/tomcat
Web服务器本地保留最近7天的数据,避免浪费磁盘空间
Rsync备份服务器上,其它要保留6个月的数据副本
客户端服务器推送数据,以主机名IP地址当前时间作为目录,所有的备份数据存放至该目录下 nfs-server_192.168.69.112_2018-03-28/
确保备份的数据完整,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发给系统管理员邮箱中
真实工作中除了服务器之间备份,可能还会需要异地备份,这个地方请大家思考如何异地备份
6.3 搭建rsync服务端 创建rsync服务端脚本 1 2 3 mkdir -p /soft/scriptsvim /soft/scripts/create-rsync-server.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #!/bin/sh useradd rsync mkdir -p /backupchown rsync.rsync /backupcat >> /etc/rsyncd.conf <<EOF uid = rsync gid = rsync 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 ignore errors read only = false list = false hosts allow = 172.16.56.0/24 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password [backup] path = /backup EOF cat >> /etc/rsync.password <<EOF rsync_backup:xuliangwei EOF chmod 600 /etc/rsync.passwordrsync --daemon echo "rsync --daemon" >> /etc/rc.local
1 2 3 4 5 chmod +x /soft/scripts/create-rsync-server.sh/soft/scripts/create-rsync-server.sh
客户端配置 1 2 3 4 5 6 cat >> /etc/rsync.password <<EOF xuliangwei EOF chmod 600 /etc/rsync.password
6.4 客户端备份脚本 1 2 vim /soft/scripts/backup_client.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #!/bin/bash IP=$(ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}' ) Hostname=$(hostname) if [ $(date +%w) -eq 0 ]then Date="week$(date +%F-%w -d "-1day" ) " else Date=$(date +%F -d "-1day" ) fi Path=/backup /bin/mkdir -p $Path /${Hostname} _${IP} _${Date} cd / &&\/bin/tar czf $Path /${Hostname} _${IP} _${Date} /backup_${Date} .tar.gz \ var/spool/cron/root \ etc/rc.local \ etc/sysconfig/iptables \ var/www/html \ app/logs \ etc/fstab \ etc/hosts \ etc/firewalld \ soft/scripts \ var/log \ soft/log/nginx \ soft/log/mysql \ soft/log/php \ soft/log/tomcat &&\ md5sum $Path /${Hostname} _${IP} _${Date} /backup_${Date} .tar.gz > $Path /${Hostname} _${IP} _${Date} /flag_${Date} &&\rsync -az /backup/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password &&\ find $Path / -type f -mtime +7 \( -name "*.log" -o -name "*.tar.gz" \) | xargs rm -f
1 2 3 4 5 6 7 chmod +x /soft/scripts/backup_client.shcrontab -e 0 1 * * * /soft/scripts/backup_client.sh
6.5 服务端备份验证脚本 1 2 vim /soft/scripts/backup_server_check.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/bin/bash IP=$(ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}' ) if [ $(date +%w) -eq 0 ]then Date="week$(date +%F-%w -d "-1day" ) " else Date=$(date +%F -d "-1day" ) fi Path=/backup /bin/mkdir -p $Path /${IP} LANG=en find /backup/ -type f -name "*${Date} *.log" | xargs md5sum -c >> $Path /${Date} _result.log 2>&1 &&\ mail -s "$Date bak result" xxx@163.com < $Path /${Date} _result.log find $Path / -type f -mtime +180 ! -name "*_week*_6*" | xargs rm -f
优化版本check.sh :
1 2 3 4 5 6 7 8 9 10 #!/bin/bash find /backup -type f -name "flag_$(date +%F) " | xargs md5sum -c | grep FAILED &> /tmp/mail_body_$(date +%F).txt if [ -s /tmp/mail_body_$(date +%F).txt ]; then mail -s "$(date +%U%T) back" 552408925@qq.com < /tmp/mail_body_$(date +%F).txt else echo "All backup files are OK" | mail -s "$(date +%U%T) back success" 552408925@qq.com fi
6.6 配置邮箱
1 2 3 4 5 6 7 8 set from=552408925@qq.comset smtp=smtps://smtp.qq.com:465set smtp-auth-user=552408925@qq.comset smtp-auth-password=授权码set smtp-auth=loginset ssl-verify=ignoreset nss-config-dir=/etc/pki/nssdb/
注意 : QQ邮箱需要使用授权码,不是登录密码。
6.7 备份思考 思考1: 要备份什么? WEB APP部署程序配置文件 :
/usr/local/nginx 或 /soft/webapp/nginx
/opt/mysql 或 /soft/webapp/mysql
/etc/php 或 /soft/webapp/php
MYSQL数据库部署程序及其配置文件 :
/data/mysql/mysql3306/{data,logs,conf,tmp}
/data/mysql/mysql3307/{data,logs,conf,tmp}
MySQL数据文件 :
MySQL的binlog日志、慢查询日志、错误日志
系统的安全日志、内核的日志、sudo日志、rsyslog日志
应用程序日志 :
静态数据文件
思考2: 如何备份? 根据时间维护划分 :
根据地域划分 :
思考3: 备份可恢复性?
时间成本 : 恢复需要多长时间
维护成本 : 维护备份系统的成本
思考4: 备份策略 备份保留时间 : 1个月、1年或永久?
备份恢复校验 :
1个月模拟一次,半年演练一次?
这里牵扯到备份有效性和备份时效性的一个校验
万一备份服务器挂了怎么办?
7. Rsync高级应用 7.1 限速传输 1 2 rsync -avz --bwlimit=100 /backup/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password
7.2 断点续传 1 2 rsync -avz --partial /backup/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password
7.3 显示进度 1 2 rsync -avzP /backup/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password
7.4 同步时排除多个模式 1 2 rsync -avz --exclude='*.log' --exclude='*.tmp' --exclude='cache/' /backup/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password
8. Rsync性能优化 8.1 网络优化 1 2 3 4 5 rsync -avz /backup/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password rsync -avz --block-size=2048 /backup/ rsync_backup@172.16.56.11::backup/ --password-file=/etc/rsync.password
8.2 服务端优化 1 2 3 4 5 vim /etc/rsyncd.conf max connections = 2000 timeout = 600
8.3 客户端优化 1 2 rsync -avz -e 'ssh -C' /backup/ user@host:/backup/
实战优化