![rsync --compare-dest arg 无论如何都不存在](https://linux22.com/image/82637/rsync%20--compare-dest%20arg%20%E6%97%A0%E8%AE%BA%E5%A6%82%E4%BD%95%E9%83%BD%E4%B8%8D%E5%AD%98%E5%9C%A8.png)
我有这些文件夹:
.
├── result
├── test
│ ├── file1
│ ├── file2
│ ├── file3
│ └── file4
└── test2
├── file1
├── file2
├── file3
└── file5
test
是原始文件夹。- 有些
test2
文件是不同的,有些文件是相同的,有些文件只存在于其中。
我希望用户 rsync 仅复制result
那些test2
比 上的文件更新test
或不存在的文件test
。
=
我运行以下任何操作系统,改变文件夹名称和文件夹名称之间是否存在--compare-dest
,文件夹名称是否有尾部斜杠,甚至反转参数,以防万一我误解了比较哪个文件夹-目的地:
rsync -av --dry-run --itemize-changes --compare-dest=test2 test/ result/
rsync -av --dry-run --itemize-changes --compare-dest=test2/ test/ result/
rsync -arv --dry-run --itemize-changes --compare-dest test test2/ result/
rsync -arv --dry-run --itemize-changes --compare-dest test/ test2/ result/
他们所有人都告诉我:
--compare-dest arg does not exist: NAME_OF_EXISTING_FOLDER
- 我究竟做错了什么?
- 为了满足我在本问题开头解释的要求,我发出的正确命令是什么?
答案1
man rsync
:
如果 DIR 是相对路径,则它是相对于目标目录的。
你需要:
rsync -av --dry-run --itemize-changes --compare-dest="$PWD"/test test2/ result/