文章目录
- rsync 详细介绍
- rsync 基本特性
- rsync 常用选项
- rsync 各种是使用示例
rsync 详细介绍
rsync
是一个在 Linux 和 Unix 系统上广泛使用的文件同步和传输工具。它被设计用于快速高效地同步文件和目录之间的变化,不论是本地还是通过网络。rsync
命令有许多选项,可以根据需要进行定制。
rsync 基本特性
- 增量备份:
rsync
只传输改变的部分,而不是整个文件,这样更快速并节省带宽。 - 归档模式:可以复制文件的权限、时间戳、软硬链接、用户和组信息等。
- 压缩传输:压缩数据以减少网络传输的数据量。
- 删除功能:可以删除目标中源端已经删除的文件。
- 支持远程传输:可以通过 SSH 或 rsync 守护进程在远程服务器之间同步文件。
rsync 常用选项
-a
(--archive
): 归档模式,等同于-rlptgoD
(递归、链接、权限、时间戳、组、所有者、设备)。-v
(--verbose
): 输出详细信息。-h
(--human-readable
): 以易读的格式输出文件大小等信息。-z
(--compress
): 在传输时压缩文件数据。-P
: 等同于--partial --progress
,允许部分传输的文件,并在传输时显示进度。--dry-run
: 模拟运行来查看哪些文件将被同步,但不实际执行同步。--delete
: 删除目标目录中不存在于源目录的文件。-e
(--rsh=COMMAND
): 指定远程Shell,通常用于指定 SSH。
rsync 各种是使用示例
- 本地复制文件
rsync -avh /path/to/source/ /path/to/destination/
- 通过 SSH 复制文件到远程服务器
rsync -avhe ssh /path/to/source/ user@remote_host:/path/to/destination/
- 从远程服务器复制文件到本地
rsync -avhe ssh user@remote_host:/path/to/source/ /path/to/destination/
- 增量备份
rsync -avh --progress --delete /path/to/source/ /path/to/backup/
在这个例子中,--delete
会使得备份目录中的任何不再存在于源目录中的文件被删除,模拟镜像的效果。
- 模拟同步过程
rsync -avh --dry-run /path/to/source/ /path/to/destination/
- 同步时忽略一些文件或目录
rsync -avh --exclude 'pattern_to_exclude' /path/to/source/ /path/to/destination/
你可以多次使用 --exclude
选项来排除多个模式,或者使用 --exclude-from
指定一个包含排除规则的文件。
- 在同步时保留删除的文件
rsync -avh --backup --backup-dir=/path/to/backup-dir /path/to/source/ /path/to/destination/
在这个例子中,被删除或者被覆盖的文件会被复制到指定的备份目录。
rsync
是一个非常强大的工具,有许多选项和变体。为了使用它最合适的方式,了解详细的文档和实际的使用场景是很有帮助的。可以通过输入 man rsync
来访问它的手册页以获取更多信息。