rsync 删除文件尽管 --dry-运行

rsync deleting files despite --dry-run

当我 运行 rsync 指定 --delete 和 --dry-运行 时,删除的本地文件实际上在远程删除。命令输出包括 (DRY 运行) 最后,但远程文件被删除。 命令我 运行ning:

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 authorized_keys 文件中指定 command="[rsync command]" 的结果。该命令不包括 --dry-运行 选项。当远程机器上的 command= ssh 选项限制命令时,在本地机器上更改选项无法正常工作。