linux - rsync:将所有文件同步到单个目录,忽略目录结构

标签 linux unix centos synchronization rsync

我想将所有文件同步到某个目录而不同步目录结构。

到目前为止,我有这个:

rsync -vcr --remove-source-files --exclude='*sample*' --exclude='*Sample*' --include='*/' --include='*.avi' --include='*.mkv' --include='*.mp4' --include='*.wmv' --exclude='*' $src1 $src2 $dest

这似乎工作得很好,但如果其中一种包含的文件类型位于源目录的子目录中,则父目录也将被传输。

总而言之,我希望将所有包含的文件类型直接移动到单个目标目录,而不复制父目录结构。

最佳答案

看起来您的命令中有一个额外的 --include='*/ 是不需要的,并导致了您遇到的问题。你应该去做以下事情:

编辑

我们还要删除 --exclude='*' 这可能是多余的,因为我们对相关文件使用了 include

rsync -vcr --remove-source-files --exclude='*sample*' --exclude='*Sample*'        \
      --include='*.avi' --include='*.mkv' --include='*.mp4' --include='*.wmv'     \
      $src1 $src2 $dest

希望对您有所帮助。

关于linux - rsync:将所有文件同步到单个目录,忽略目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37094476/

相关文章:

c - 在嵌入式应用中为什么c最受欢迎?

regex - tr 实用程序 - 向括号表达式添加异常(exception) [[ :punct:]]

linux - 关于 fork 和 execve 系统调用

linux - root 是否会覆盖在 unix 中设置为目录的只读权限(甚至是 root 权限)?

python - 无法在 centos 7 上安装 psycopg2

linux - 每个进程的cpu使用率?

linux - Crontab 未将脚本运行到 php 中

linux - 在 Unix/macOS 系统事件上触发脚本

centos - 无法使用 mariadb 启动 HandlerSocket

mysql - 如何更新可用 MySQL 软件包的 yum 列表?