假设我有以下顶级文件夹
驱动器1:
./Folder 1
./Folder 2
驱动器2:
./Folder 1
./Folder 2
./Folder 3
./Folder 4
在满足以下条件的情况下,如何仅将文件夹 1 和 2 从 Drive1 同步到 Drive2
- Drive1的完全同步
Folder 1
(Folder 2
包括删除) - 请勿触摸Drive2 上的
Folder 3
和Folder 4
- 我不想指定要忽略使用
--exclude-from
选项的文件夹(因为我希望这是任何给定驱动器的通用解决方案)
任何帮助表示赞赏!
答案1
rsync -a --delete "/src/path/Folder 1/" "/dst/path/Folder 1/"
rsync -a --delete "/src/path/Folder 2/" "/dst/path/Folder 2/"
或者,如果您的文件夹名称位于$@
:
for name in "$@"; do
rsync -a --delete "/src/path/$name/" "/dst/path/$name/"
done
$@
您可以通过以下任一方式获取文件夹名称
set -- "Folder 1" "Folder 2"
或者通过调用脚本(这将是)像
./script "Folder 1" "Folder 2"
据我所知,您无法--include
仅选择所需的目录,因为这样您还必须明确排除您不想传输的目录(这是您想要避免的) 。