1.1.1. Rsync(远程同步)介绍 【Rsync等价scp cp rm共3个命令的和】
1.什么是Rsync:
Linux下面开源的,很快,功能很多,可以实现全量及增量的本地或者远程数据同步备份的工具。可以实现本地和远程的2台主机之间的数据快速同步,远程备份。
区别于scp: Rsync可以实现本地不同分区或目录的增量的备份,删除文件和目录的功能;
scp是全量的
2.原理
默认情况下,Rsync通过其独特的"quick check"算法,它仅同步大小或者最后修改时间发生变化的目录或文件,当然也可以根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的部分
3.Rsync的特性
1.保留文件的原来属性,且支持拷贝特殊文件,如链接文件,设备
2.可以有排除特定文件或目录同步的功能,相当于tar --exclude
3.不要求必须使用超级用户权限
4.可以使用ssh,rcp等方式配合传输文件(rsync本身不对数据进行加密)
4. rsync的安装
# Redhat默认自带 yum -y install rsync xinetd # 手动安装
1.1.2. Rsync的企业工作场景介绍
rsync的部分参数
-avz:表示文件的属性和目录的属性不变
-P: 显示同步的过程 ==>process
-e: 指定通道, -e 'ssh -p 22 '
场景一:rsync客户端,本地做同步或删除
特点:本地备份
# Local: rsync [OPTION...] SRC... [DEST] # cp功能: rsync -vaz /etc/hosts /tmp ==>cp /etc/hosts /tmp # rm功能: rsync -avz --delete /null /tmp ==>rm /tmp
场景二:把所有客户端服务器的数据到备份服务器 -->remote shell
特点:1对1,且需要密码,需要制定通道(用于加密),不安全,真实用户登录
Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] rsync -avzP -e "ssh -p 22" root@192.168.25.135:/tmp . ==>pull Push: rsync [OPTION...] SRC... [USER@]HOST:DEST rsync -avzP -e "ssh -p 22" ./ root@192.168.25.135:/tmp/ ==>push
场景三:rsync daemon(多对一模式)
特点:多对一
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
搭建企业级全网数据定时备份方案【cron + rsync】
【更多参考】 搭建企业级全网数据定时备份方案【cron + rsync】
rsync优/缺点
优点:
1.增量同步备份,支持socket(daemon模式),集中备份
缺点:
1.大量小文件同步的时候,比对时间比较长,有时候,rsync进程停止(centos6边比对边同步)
解决:a.打包同步 b.drdb(文件系统同步复制block ->缺点主节点不断,备节点不能用 ->解决,写2份)
2.同步大文件,10G这样的大文件也有问题,中断。未完整同步前,是隐藏文件