问题描述
当我指定 --delete 和 --dry-run 运行 rsync 时,删除的本地文件实际上是在远程上删除的。命令输出包括 (DRY RUN) 最后,但远程文件被删除。 我正在运行的命令:
rsync \
-azv --dry-run --delete \
-e "ssh -l backup -i /home/user/.ssh/id_backup" \
--include-from='/home/user/.rsync-include.txt' \
--exclude-from='/home/user/.rsync-exclude.txt' \
/home/user backup:storage/backups/home
示例输出:
sending incremental file list
deleting user/zxcv
deleting user/asdf
user/
sent 7,091 bytes received 62 bytes 4,768.67 bytes/sec
total size is 97,628,177 speedup is 13,648.56 (DRY RUN)
(注意末尾的 (DRY RUN)
)
解决方法
这是在远程机器上的 ssh 授权密钥文件中指定 command="[rsync command]"
的结果。该命令不包括 --dry-run 选项。当命令受到远程计算机上的 command=
ssh 选项限制时,更改本地计算机上的选项无法正常工作。