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*******