我想从文件内部部署文件列表,假设files.lst
:
+ .profile
+ .hg/hgrc
+ .mc/*
- /*
rsync -vvltr . --include-from 'files.lst' . destdir
期望的行为:
- 递归复制所有文件和目录
.mc
- 仅将
.hg/hgrc
文件复制到目标,忽略该目录中可能存在的其他文件 - 复制
.profile
答案1
最后,我终于让它工作了,我绝对不会向任何人推荐 rsync平均的PC 用户(从未听说过man
或SF
)。
+ .profile
+ .mc
+ .mc/***
+ .hg
+ .hg/hgrc
- /***
解释:
- 您需要先指定目录,否则它会跳过它们
- 最后一行告诉 rsync 排除所有未明确包含的内容。
答案2
您想要这个--files-from
选项。
rsync --files-from=files.lst destination:/location/
man rsync