[linux] rsync 文件同步

rsync 是一个开源的、快速且高度可定制的文件同步工具。

它可以通过本地网络或远程网络传输文件,并且只会传输发生更改的部分,从而大大提高了文件同步的效率。

文章目录

以下是 rsync 的一些常见用法和选项:

本地同步

  1. 本地同步:使用 rsync 可以将一个目录中的所有文件和子目录同步到另一个目录,命令如下:

    rsync -avz /path/to/source /path/to/destination

其中

-a 表示归档模式,将尝试保留文件权限、时间戳等元数据;

-v 表示详细输出信息;

-z 表示启用压缩以加快传输速度。


远程同步

远程同步到本地

远程同步:使用 rsync 还可以在两个不同的机器之间同步文件,命令如下:

复制代码
rsync -avz -e ssh user@host:/path/to/source /path/to/destination

这个命令是使用 rsync 进行远程文件同步的常见用法。下面是对该命令的解释:

-a (archive):以归档模式进行同步,保留文件的权限、所有者、组、时间戳等元数据信息。

-v (verbose):显示详细的输出信息,让你可以看到哪些文件被同步。

-z (compress):启用压缩,通过网络传输文件时可以减少传输的数据量,加快传输速度。

-e ssh: 选项参数,指定使用 SSH 协议进行远程连接和传输。

user@host:/path/to/source: 源文件路径,表示要同步的文件或目录所在的远程主机、用户名和路径。

/path/to/destination: 目标文件路径,表示同步后文件或目录要保存到的本地位置。

使用该命令时,rsync 将会通过 SSH 连接到远程主机,在源目录中找到变更的文件并将其复制到本地的目标目录中。

如果目标目录不存在,则会创建它。同时,rsync 会检查目标目录中的文件,如果源目录中已经删除了某个文件,rsync 也会将其从目标目录中删除。

请注意,运行该命令需要确保远程主机能够通过 SSH 连接,并且你有权限访问源目录和目标目录。

本地同步到远程

bash 复制代码
rsync -avz -e ssh /path/to/source user@host:/path/to/destination

排除

同步时排除某些文件或目录:有时候我们需要排除特定的文件或目录不进行同步,可以使用 --exclude 选项,例如:

复制代码
rsync -avz --exclude='*.txt' /path/to/source /path/to/destination

其中 --exclude='*.txt' 表示排除所有扩展名为 .txt 的文件。

删除

同步时删除目标目录中不存在的文件:使用 --delete 选项可以在同步时删除目标目录中不存在的文件,例如:

复制代码
rsync -avz --delete /path/to/source /path/to/destination

其中 --delete 表示删除目标目录中不存在的文件。

相关推荐
2401_894915537 小时前
GEO 优化源码全解析:从搜索引擎到 AI 引擎的底层改写逻辑
java·服务器·前端·数据库·人工智能·分布式·搜索引擎
qq_3164110311 小时前
商用冷柜售后报修运维管理系统开发案例
运维
huainingning11 小时前
R4930-G7服务器(RAID-LSI-9560-LP-8i-4GB)网页方式做Raid方法
服务器
智码看视界12 小时前
Day59-阿里云ACK实战:生产级K8s集群部署与运维
运维·阿里云·kubernetes·k8s·日志监控·容器运维·阿里云ack
ltl13 小时前
QUIC 握手实现:Initial 到 1-RTT 的最小路径
linux
码视野13 小时前
基于 Vue3 + Element Plus 的【智慧新能源汽车充电桩运维调度与分时共享租赁系统】设计与实现(附完整源码与PRD)
运维·人工智能·汽车·vue3
qq_4260039614 小时前
【UI自动化测试】UI自动化报错解决方案
运维·ui·自动化
网安蟹佬霸14 小时前
WAF绕过技术实战:从规则检测到编码绕过全指南(2026最新版,附Payload集与自动化脚本)
运维·安全·网络安全·架构·自动化·网安
小杨不想秃头14 小时前
信息安全工程师教程第二章密码学
运维·服务器·密码学
I'mChloe14 小时前
WGCLOUD怎么监控多台服务器?从Server、Agent 部署到监控面板实战
运维·服务器