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本身不对数据进行加密)
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" [email protected]:/tmp . ==>pull Push: rsync [OPTION...] SRC... [USER@]HOST:DEST rsync -avzP -e "ssh -p 22" ./ [email protected]:/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