1. rsync简介
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
2. rsync特性
rsync支持很多特性:
- 可以镜像保存整个目录树和文件系统
- 可以很容易做到保持原来文件的权限、时间、软硬链接等等
- 无须特殊权限即可安装
- 快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据的过程中可以实 - 行压缩及解压缩操作,因此可以使用更少的带宽
- 安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接 (ip+端口)
- 支持匿名传输,以方便进行网站镜像
3. rsync的ssh认证协议
rsync命令来同步系统文件之前要先登录remote主机认证,认证过程中用到的协议有2种:
3. rsync的ssh认证协议
rsync命令来同步系统文件之前要先登录remote主机认证,认证过程中用到的协议有2种:
- ssh协议
- rsync协议
rsync server端不用启动rsync的daemon进程,只要获取remote host的用户名和密码就可以直接rsync同步文件
rsync server端因为不用启动daemon进程,所以也不用配置文件/etc/rsyncd.conf
ssh认证协议跟scp的原理是一样的,如果在同步过程中不想输入密码就用ssh-keygen -t rsa打通通道
//这种方式默认是省略了 -e ssh 的,与下面等价:
rsync -avz /SRC -e ssh root@172.16.12.129:/DEST -a //文件宿主变化,时间戳不变-z //压缩数据传输-v //显示详细信息//当遇到要修改端口的时候,我们可以:
rsync -avz /SRC -e "ssh -p2222" root@172.16.12.129:/DEST
//修改了ssh 协议的端口,默认是22
需求池
1、大量存储数据需要本地、远程同步或迁移,如存储数据上云、存储架构改造后进行数据同步。
2、安全合规要求大量数据定时异地备份。
3、安全稳定地对大量数据进行迁移
简介
sync 是一款开源、快速、多功能、可实现全量及增量的本地或远程数据同步备份的工具,适用于多种操作系统平台数据同步如unix、Linux、Windows等。
解决的痛点
1、大量数据远程同步耗时长,公网网络抖动容易造成数据同步中断
2、增量数据同步
3、数据加密压缩传输,减少网络带宽压力
4、数据限速传输保障其他业务不受影响
5、文件属性和权限与原始文件保持一致
6、不同操作系统之间在文件协议和传输格式上的不兼容性是一个常见问题。rsync 的广泛支持使得跨平台文件传输变得简单。
操作步骤
1、安装rsync工具
a.Redhat\Centos系统
yum install rsync -y
b、Ubuntu\Debian系统
apt-get updateapt-get install rsync
2、语法
rsync [OPTION] src_dir/ username@dst_ip:/dst_dir/
样例
rsync -avP src_dir/ username@dst_ip:/dst_dir/
参数说明
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3、操作用例
a、本地备份
将一个目录的内容备份到另一个位置。
rsync -av /data/ /data1/
b、本地增量备份
只同步自上次备份以来发生变化的文件,避免重复传输
rsync -av --delete /data/ /data1/
c.远程数据同步
rsync -avz /data root@192.168.1.8:/data
d.远程备份
定期备份本地文件到远程服务器,限速80Mbps
rsync -avz --delete --bwlimit=10M /data root@192.168.1.8:/data
e.同步大文件
传输大文件使用压缩选项以减少网络带宽的使用
rsync -avz --compress-level=9 /data/Centos7.6.iso root@192.168.1.8:/data
f.多文件同步
可以将多个文件或目录同时同步,使用 --include 和 --exclude 选项来控制需要同步的对象。
rsync -av --include='*/' --include='*.txt' --exclude='*' /data/ /data1/
g.目录镜像
创建一个目录的镜像,使其保持完全同步。
rsync -av --delete /data/ /data1/
h.迁移服务器
在迁移网站或应用程序时,使用 rsync 可以快速有效地转移文件
rsync -avz --delete --progress /var/www/ root@192.168.1.8:/var/www/
i.rsync 与 cron 作业结合,自动化定期备份
(1)系统中执行命令编辑 crontab
crontab -e
(2)添加如下行,每日零晨2点备份
0 2 * * * rsync -avz --delete --progress /var/www/ root@192.168.1.8:/var/www/
总结
rsync是一个灵活、高效且功能强大的文件同步工具,适合各种文件传输需求。凭借增量同步、断点续传、跨平台支持3大高亮点,成为运维心中无可替代的“数据同步英雄”。1条命令解决备份、发布、迁移难题,安全合规与效率直接拉满!