首页 帮助中心 常见问题 rsync命令在Linux中的常用方法
rsync命令在Linux中的常用方法
时间 : 2024-12-09 11:50:23 编辑 : 华纳云 阅读量 : 150

Rsync是Linux/Unix系统中远程和本地复制和同步文件/目录的常用命令。通过Rsync可以实现跨目录、磁盘和网络在远程和本地复制和同步数据,执行数据备份及两台Linux服务器之间的进行镜像。本文华纳云为大家分享关于Linux中Rsync的常用方法(无需root权限也可完成)。

rsync命令遵循以下语法:

# rsync [OPTIONS] SOURCE DESTINATION

不同组件和选项:

-v– 详细输出,显示有关传输的详细信息。

-r– 递归复制数据(但在传输数据时不保留时间戳和权限。

-a- 存档模式,允许递归复制文件,同时保留符号链接、文件权限、用户和组所有权以及时间戳。

-z– 在传输过程中压缩文件以减少网络使用。

-h– 人类可读,以人类可读的格式输出数字。

-P– 传输过程中显示进度。

SOURCE– 指定要传输的源文件或目录,可以是本地位置也可以是远程位置。

DESTINATION– 指定将复制文件或目录的目标路径。与源类似,它可以是本地路径或远程位置。

在linux中安装rsync:

$ sudo apt install rsync [在Debian、Ubuntu 和 Mint 上]
$ sudo yum install rsync [在RHEL/CentOS/Fedora和Rocky/AlmaLinux 上]
$ sudo emerge -a sys-apps/rsync [在Gentoo Linux上]
$ sudo apk add rsync [在Alpine Linux上]
$ sudo pacman -S rsync [在Arch Linux上]
$ sudo zypper install rsync [在OpenSUSE上]    

在本地复制/同步:

rsync -zvh backup.tar.gz /tmp/backups/

以上命令会把本地服务器中backup.tar.gz文件同步到mp/backups目录中。

本地目录复制/同步:

rsync -a /dir1/ /dir2/

以上命令将/dir1/目录下的所有文件同步到/dir2/目录下。

把远程的文件同步到本地:

rsync -av root@192.168.1.55:/etc/hosts /dir1/

以上命令会把远程服务器192.168.1.55中的etc/hosts 文件同步到本地dir1目录下。

删除不存在的源目录的目的地文件:

rsync -avz --delete /var/opt/lx/ /root/temp/

以上命令可以在同步时,删除目的地中不存在的于源目录的文件。

显示执行进度:

rsync -avz --progress /var/opt/lx/ /root/temp/

以上命令可以在同步时显示出进度,如文件传输完成进度和传输速率。

查看源和目的地之间的差异:

rsync -avzi /backuphomedir /home/aloft/

进行备份:

rsync -avz /home/aloft/ /backuphomedir

使用Rsync包含具有特定扩展名的文件:

rsync -avz --include='*.txt' /path/to/source/ user@remote:/path/to/destination/

这个命令在传输过程中仅包含扩展名为.txt的文件。

使用Rsync排除具有特定扩展名的文件:

rsync -avz --exclude='*.ext' /path/to/source/ user@remote:/path/to/destination/

以上命令在传输过程中排除指定扩展名的文件。

使用Rsync包含和排除文件:

rsync -avz --include='*.txt' --exclude='*.tmp' /path/to/source/ user@remote:/path/to/destination/

这个命令在同步时包含.txt文件并排除.tmp文件。

同步同一台机上的两个目录:

rsync -r hexoBlog/ dir7/hexoBlog

以上命令会把当前目录下的hexoBlog同步到dir7目录下。

设置文件的传输限制:

rsync -avzhe ssh --max-size='200k' /var/lib/rpm/ user@remote:/root/tmprpm

以上命令仅传输等于或者小于200k的文件。

传输后自动删除源文件:

rsync --remove-source-files -zvh backup.tar.gz user@remote:/tmp/backups/

以上命令在同步后自动删除源文件backup.tar.gz。

使用rsync进行试运行:

rsync -avz -n /path/to/source/ user@remote:/path/to/destination/

以上命令可以模拟执行rsync命令,但是不实际进行文件传输。

同步时忽略已存在的文件:

rsync -avz --ignore-existing /path/to/source/ user@remote:/path/to/destination/

以上命令可以在同步时忽略目标端已存在的文件,只更新源端新增的文件。

以上就是关于rsync命令在不同场景下的应用,如本地和远程文件同步、备份、及文件传输限制等。使用rsync命令有多种优势,如高效文件传输、远程文件同步、增量备份、保留文件权限、带宽控制、更快rsync传输文件速度比等。

华纳云 推荐文章
Windows服务器上安装.NET指南 AI驱动的C#重构实践:从参数对象模式到异步编程的自动化演进 Linux bmon命令常用方法的分享 动态VPS服务器上设置IIS的完整流程 硬件强制栈保护对提升程序性能的影响 从VS Code配置到性能调优全流程 云原生AI算力服务器集群架构设计与关键技术解析 新加坡数据中心生态性能、设施与合规性评测 宝塔Linux面板的功能、支持系统及安装指南 美国原生节点是提升网络体验与业务效率的关键选择
客服咨询
7*24小时技术支持
技术支持
渠道支持