尽管 --dry-run rsync 删除文件

问题描述

当我指定 --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 选项限制时,更改本地计算机上的选项无法正常工作。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...