首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过rsync排除/Library/ but /Library/Mail中的所有内容

通过rsync排除/Library/ but /Library/Mail中的所有内容
EN

Stack Overflow用户
提问于 2015-07-21 08:51:42
回答 1查看 208关注 0票数 0

我有一个rsync脚本,它使用下面这行代码备份用户的主文件夹:

代码语言:javascript
复制
/usr/bin/caffeinate -i /usr/bin/rsync -rlptDn --human-readable --progress --ignore-existing --update $PATH/$NAME/ --exclude=".*" --exclude="Public" --exclude="Library" /Volumes/Backup/Users/$NAME\ -\ $DATE

如何忽略~/Library/中除~/Library/Mail/之外的所有内容?我想包含这个rsync标志--include="/Library/Mail",但我不确定是否应该过于依赖rsync排除和包含,因为它可能变得不可靠,并且在不同版本的OS rsync中有所不同。

也许命令行正则表达式工具会更有用?示例:

代码语言:javascript
复制
ls -d1 ~/Library/*| grep -v '^mail' > $ALIST
exec <${ALIST}
read SRC
do
.
.
.
$RSYNC..etc...
EN

回答 1

Stack Overflow用户

发布于 2015-10-15 07:58:23

rsync的--include--exclude选项遵循所谓的“优先级”,因此您可以依赖一条严格的规则,这意味着在排除之前显式包含的内容将是发送的内容。

在您的示例中,在第一个--exclude之前添加--include ~/Library/Mail

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31528653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档