我正在尝试将大型目录结构中的所有文件同步到单个根目录中(即不创建子目录但仍包括所有递归文件)。
环境:
- Ubuntu 12.04 x86
- RSYNC 版本 3.0.9
- GNU bash 版本 4.2.25(1)
到目前为止,我从 bash 脚本中调用了这个命令,该脚本运行良好并提供了所需的基本核心功能:
shopt -s globstar
rsync -adv /path/to/source/**/. /path/to/dest/. --exclude-from=/myexcludefile
的内容myexcludefile
是:
filename
*/
# the */ prevents all of the directories appearing in /path/to/dest/
# other failed attempts have included:
directory1
directory1/
directory1/*
我现在需要排除位于源树中某些目录内的文件。然而,由于查看所有目录的 globstar 方法,rsync 无法匹配要排除的目录。换句话说,除了我的/*
和filename
规则之外,其他的一切都被完全忽略了。
因此,我正在寻找有关排除语法的一些帮助,或者是否有另一种方法可以将许多目录的 rsync 实现到不使用我的 globstar 方法的单个目标目录中。
任何帮助或建议将不胜感激。