rsync 忽略空运行

nog*_*gad 4 rsync

我刚刚在bash脚本中运行了以下命令

rsync -av -update  --dry-run --delete $EX "$FROM" "$TO"
Run Code Online (Sandbox Code Playgroud)

同步运行,--dry-run被忽略(幸运的是这次没问题)。

有没有人看到--dry-run这里会被忽略的任何原因?

hee*_*ayl 6

那是因为正确的选项是--update,而不是-update。你的命令应该是:

rsync -av --update --dry-run ...
Run Code Online (Sandbox Code Playgroud)

rsync没有干运行,默认的最后一行rsync统计输出将显示字符串(DRY RUN)如:

total size is 0  speedup is 0.00 (DRY RUN)
Run Code Online (Sandbox Code Playgroud)

完整输出:

% rsync -av --update --dry-run foobar out/
sending incremental file list
foobar

sent 62 bytes  received 19 bytes  162.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)
Run Code Online (Sandbox Code Playgroud)

  • @nogad 你真的很不幸,因为`[-]-update` 的`-e` 部分需要一个值,所以它吞噬了下一个参数,即`--dry-run`。如果您的往返目录是本地的,则不会使用`-e` 选项,也不会导致失败。 (3认同)