首页 > 代码库 > backup服务器之rsync服务

backup服务器之rsync服务

backup服务器之rsync服务
   rsync是开源的、快速的、多功能的可实现全量及增量的本地或远程数据同步备份的优秀工具。它拥有scp、cp的全量复制功能,同时比scp、cp命令更优秀、更强大。通过它独特的“quick check”算法,仅同步大小或者最后修改时间发生变化的文件或目录,同样也可以根据文件或目录的权限、属主等属性变化同步,但需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所有可以实现快速的同步备份数据。
CentOS5.x中,rsync2.x比对方法:把所有的文件比对一遍同步后,再进行同步。
CentOS6.x中,rsync3.x比对方法:一边比对差异,一边对差异的部分进行同步
backup服务器之rsync特性
  • 支持拷贝特殊文件加链接文件、设备等
  • 可以有排除指定文件或目录的同步功能 (–exclude参数)
  • 可以保持原文件或目录的权限、时间、软硬链接、属主等所有属性不变(-p参数)
  • 可以实现增量同步,即只同步发生变化的数据,传输效率高
  • 可以配合rcp、rsh、ssh等方式来配合传输文件
  • 可以通过socket(进程方式)传输文件和数据*****(服务端和客户端)
  • 支持匿名的或认证的进程模式传输,可实现方便安全的数据备份及镜像
backup服务器之rsync生产企业工作场景
  • cron+rsync  定时任务推送备份
  • inotify+rsync或serync+rsync 实时数据备份
backup服务器之rsync的工作模式
  • Local:(means cp)                                     #本#地模式
rsync [OPTION...]  src... [DEST]
  • Access via remote shell:                           #通道模式
Pull:  rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push:  rsync [OPTION...] SRC... [USER@]HOST:DEST
  • Access via rsync daemon:                        #服务模式
Pull         rsync [OPTION...] [USER@]HOST::SRC... [DEST]
    rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push       rsync [OPTION...] SRC... [USER@]HOST::DEST
       rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
 
rsync参数
-a      --archive相当于-rztopgDl
-v      详细输出
-z       压缩
-r       --recursive递归
-t       --times保持文件时间属性
-o      --owner保持文件属主信息
-p    --perms保持文件权限
-g      --group 保持文件属组信息ttern
-D     --device 保持设备文件信息
-l       --links 保持软连接
-e   --rsh=command使用的信道协议,制定替代的rsh的shell程序,如:ssh
--exclude=pattern 指定排除不需要传输的的文件
--delete 差异化同步
--bwlimit=RATE 设定传输速率
**rsync的src中如后面不接/表示同步该目录,加/表示同步该目录下的文件**
 
[root@backup ~]#rsync –avz /etc/hosts /mnt/
backup服务器之rsync使用远程ssh通道实践及总结
利用-e参数使用ssh隧道传输数据:
[root@backup ~]#rsync –avz /etc/hosts –e ‘ssh –p 22‘ root@10.0.0.31:/mnt/
默认传输速率比较慢,可以通过编辑目标的sshd_conf配置文件的两个参数GSSAPIAuthentication参数设置成no
UseDNS 设置为no 来提升速率
 
backup服务器之rsync daemon服务模式详解
 
useradd -s /sbin/nologin -M rsync         建立rsync虚拟用户; 不建立家目录
 vim /etc/rsyncd.conf                            创建rsync daemon服务进程配置文
 
###rsync_start##
###rsyncd.conf start##
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
hosts allow = 172.16.1.0/24                                全局使用(allow和deny二选一)
#hosts deny = 0.0.0.0/32
ignore errors
read only = false
list = false
auth users = rsync_backup                                  连接rsync服务器的用户
secrets file = /etc/rsync.password                        连接rsync服务器的用户配置文件
[backup]
path = /backup
[nfsbackup]                                                       多模块
path = /nfsbackup
##rsyconfig_____end
 
 
 
  • 密码配置文件注意事项
*****rsync密码配置文件的权限必须为600*******
*****rsync服务端密码配置格式为用户名:密码****
*****rsync客户端密码配置格式只有密码********
 
 
  • 配置文件生效需要服务重启
 
pkill rsync  关闭服务
lsof  -i: 873  检查服务是否完全关闭
rsync --daemon   重启服务
 
 
****客户端不需要密码配置rsyncd.conf*******
 
 
###rsync_start##
###rsyncd.conf start##
uid = root
gid = root
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
hosts allow = 10.0.0.0/24
ignore errors
read only = false
list = false
 
[backup]
path = /backup
 
[mysql]
path = /root/mysql
##rsyconfig_____end
启动 
rsync --daemon --config=/etc/rsyncd.conf
 
 
 
 

backup服务器之rsync服务