rsync 子文件夹到不同的文件夹名称

rsync 子文件夹到不同的文件夹名称

当我这样做时:

rsync folder/a /mnt/some/destination

我最终得到/mnt/some/destination/folder/a,但我想要的是folder/a内容直接地里面/mnt/some/destination

我知道如果我这样做是可能的:

rsync folder/a/* /mnt/some/destination

然而,这是问题的关键,这不适用于该--delete选项。该选项要求源是目录,因此通配符不起作用。

解决方法是

cd folder/a && rsync --delete . /mnt/some/destination

有没有办法在不更改工作目录的情况下执行此操作?我的场景是 CD/CI 构建环境。

有没有像tar -C, 或 之类的选项wget --cut-dirs

答案1

代替:

rsync folder/a  /mnt/some/destination

使用:

rsync folder/a/ /mnt/some/destination

这将允许--delete删除目标中源中不存在的文件,并将 的内容folder/a直接放入/mnt/some/destination/.

相关内容