首页 帮助中心 香港大带宽服务器 rsync命令在Linux中的常用方法
rsync命令在Linux中的常用方法
时间 : 2024-12-09 11:50:23 编辑 : 华纳云 阅读量 : 48

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传输文件速度比等。

华纳云 推荐文章
用dmesg命令行排除linux系统故障和收集信息 文件和目录中查找特定字符串或单词的操作方法 适合Linux使用的4款二维码生成工具 Linux中用Netplan实现两个网络接口的桥接 Linux中使用Dtrx命令提取和压缩文件具体操作 Linux中恢复误删文件的方法 Linux中想查找或终止正在运行进程怎么做 什么是内核空间和用户空间 它们是如何通信的 盘点dns_sd_configs配置常见的错误类型 SQL Server和MySQL相比哪个更适合新手使用
客服咨询
7*24小时技术支持
技术支持
渠道支持