rsync介绍和使用

 

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/

参数说明

参数
说明
src_dir
源目录
username
目的服务器用户名
dst_ip
目的服务器公网或内网IP
dst_dir
目的服务挂载目录
-a,--archive
归档模式,等同于 -rlptgoD,表示递归复制,并保留文件的所有属性。
-v,--verbose
显示详细输出。
-z,--compress
在传输过程中压缩文件,以节省带宽。
--delete
删除目标目录中源目录没有的文件。
--bwlimit=RATE
限制传输速率及 I/O 带宽,单位为 KB/s。
--exclude
排除特定的文件或目录。
--include
指定不被排除需要传输的文件与目录,常用于与 --exclude 一起使用。
--progress
显示同步的过程及传输时进度等信息。

 

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条命令解决备份、发布、迁移难题,安全合规与效率直接拉满!

posted @   大司徒  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示