> 文件与目录管理 > rsync-dry-run

rsync-dry-run: rsync 执行前预览

rsync-dry-run 是一个功能,它不实际执行文件传输或更改,而是预览 rsync 命令执行时哪些文件将被复制、删除或修改。这通常通过使用 'rsync -n' 或 'rsync --dry-run' 选项来实现。在处理重要数据之前,这是一个必须使用的安全措施,以防止意外结果。

概述

rsync 的 dry-run(试运行)模式通过模拟命令的效果来向用户显示更改,而无需实际执行操作。这在执行包含 `--delete` 等破坏性操作的复杂 rsync 命令时尤为重要。

主要优点

  • 防止数据丢失:提前检测到意外的文件删除或覆盖。
  • 确认预期更改:准确了解哪些文件将被传输或修改。
  • 验证命令:检查复杂的 rsync 选项组合是否按预期工作。
  • 节省时间:在大型传输中提前过滤掉不必要的操作。

主要选项

rsync-dry-run 实际上是利用 rsync 命令的选项,因此这里将介绍与 dry-run 结合使用的 rsync 主要选项。

与试运行相关的选项

与试运行一起使用的常规 rsync 选项

生成的命令:

请尝试组合命令。

描述:

`rsync-dry-run` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

利用 rsync 的试运行模式的各种场景。所有示例都将在不进行实际更改的情况下输出结果。

基本试运行

rsync -avn /path/to/source/ /path/to/destination/

预览将哪些文件从源目录同步到目标目录。

带删除选项的预览

rsync -avn --delete /path/to/source/ /path/to/destination/

预览将删除目标目录中存在但源目录中不存在的文件。这是一个非常重要的步骤。

远程服务器试运行

rsync -avn /path/to/local/ user@remote_host:/path/to/remote/

在将文件传输到远程服务器之前,预览将传输哪些文件。

排除和包含特定文件的试运行

rsync -avn --exclude='*.log' --include='data/' --include='*/' --exclude='*' /path/to/source/ /path/to/destination/

预览排除特定扩展名文件、仅包含特定目录的复杂过滤规则将如何应用。

提示与注意事项

有效使用 rsync 的试运行功能的提示和注意事项。

始终先使用试运行

特别是使用 `--delete` 选项或复杂的过滤规则时,在执行实际 rsync 命令之前,务必使用 `-n` 选项检查结果。这是防止不可逆数据丢失的最佳方法。

  • **安全第一:** 同步重要数据时,始终从 `rsync -avn ...` 开始。
  • **分析输出:** 仔细检查试运行的输出,确保没有与预期不符的地方。

检查 rsync 安装

rsync 通常预装在大多数 Linux 系统上,但如果没有,您需要通过包管理器进行安装。(例如:`sudo apt install rsync` 或 `sudo yum install rsync`)由于 rsync-dry-run 使用 rsync 命令的选项,因此必须安装 rsync。

斜杠(/)的重要性

源路径末尾是否带有斜杠(/)会影响 rsync 的行为。试运行可以帮助您清楚地理解这种差异。

  • `source/`: 将 source 目录的*内容*复制到目标目录。
  • `source`: 将 source 目录*本身*复制到目标目录中。

相同类别命令