rsync 仅复制特定文件夹
我有一个目录,其中包含文件和目录。 我想要的是从该目录中制作几个文件夹的 rsync 副本。 例如,假设我有这个:
/home/user
-- drwxr-xr-x folderA
-- drwxr-xr-x folderB
-- drwxr-xr-x folderC
-- -rw-r--r-- file.1
-- -rw-r--r-- file.2
我想使用 rsync 复制folderA 和 folerB。 我创建了文件 rsync_folders.txt
+ /folderA/**
+ /folderB/**
我的问题是 rsync 将始终复制文件,除非它与排除模式匹配。 但是,如果我添加
- /**
任何内容,则不会复制任何内容,因为 rsync 首先与排除模式匹配。
有任何想法吗?
注意:我无法列出要排除的所有文件夹和文件。 它会不时发生变化。
I have a dir with files and dirs in it. What I want is to make rsync copy of several folders from that dir. For example, lets say I have this:
/home/user
-- drwxr-xr-x folderA
-- drwxr-xr-x folderB
-- drwxr-xr-x folderC
-- -rw-r--r-- file.1
-- -rw-r--r-- file.2
I want to copy folderA and folerB using rsync. I have created file rsync_folders.txt
+ /folderA/**
+ /folderB/**
My problem is that rsync will always copy file unless it matches exclude pattern. But if I add
- /**
nothing is copied because rsync first matches against exclude patterns.
Any ideas?
Note: I cannot list all folders and files I want to exclude. It will be changing from time to time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 rsync -av src1 src2 src3 ... dst 或将要 rsync 的所有文件夹放入文本文件中(每个文件夹单独一行)并使用 rsync -arv -- files-from=sources.txt dst。
请注意,默认情况下
-a
意味着--recursive
但在使用--files-from
时则不然,因此在本例中- r
必须明确指定。Either use
rsync -av src1 src2 src3 ... dst
or put all the folders you want to rsync in a text file (each folder in a separate line) and usersync -arv --files-from=sources.txt dst
.Note that by default
-a
implies--recursive
but not when--files-from
is used, so in this case-r
must be specified explicitly.