加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在rsync中使用–cvs-exclude忽略核心文件夹?

发布时间:2020-12-13 19:30:19 所属栏目:Linux 来源:网络整理
导读:我一直在使用rsync脚本中的–cvs-exclude选项.我使用一个SVN存储库,所以它保持SVN文件的生产. 今天我尝试rsync的更改,突然间rsync没有从一个名为“核心”的文件夹中挑选出来.调查后,我发现“核心”是CVS文件夹,因此被忽略. 所以我的问题是为什么rsync对我来
我一直在使用rsync脚本中的–cvs-exclude选项.我使用一个SVN存储库,所以它保持SVN文件的生产.

今天我尝试rsync的更改,突然间rsync没有从一个名为“核心”的文件夹中挑选出来.调查后,我发现“核心”是CVS文件夹,因此被忽略.

所以我的问题是为什么rsync对我来说是一个工作,但是突然之间今天决定开始忽略“核心”文件夹.

我已经通过简单地忽略SVN文件而不是使用CVS排除来解决这个问题,但是我仍然感到困惑的是为什么rsync工作直到今天.

我的旧rsync代码:

rsync -vcaz --no-p --cvs-exclude --exclude downloader --exclude media --exclude var     /var/www/project/ user@production.com:/var/www/project/httpdocs/ | grep -v '/$'

操作系统(运行Xubuntu):

Distributor ID: Ubuntu
Description:    Ubuntu 11.10
Release:    11.10
Codename:   oneiric

rsync版本:

rsync  version 3.0.8  protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell,Wayne Davison,and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files,64-bit inums,64-bit timestamps,64-bit long ints,socketpairs,hardlinks,symlinks,IPv6,batchfiles,inplace,append,ACLs,xattrs,iconv,symtimes

也许不是一个关键的问题,但是它仍然困扰着我.

解决方法

我也遇到同样的问题.如果使用-C选项,则Rsync将排除以下类型的文件:
static char default_cvsignore[] =
    /* These default ignored items come from the CVS manual. */
    "RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS"
    " .make.state .nse_depinfo *~ #* .#*,* _$* *$"
    " *.old *.bak *.BAK *.orig *.rej .del-*"
    " *.a *.olb *.o *.obj *.so *.exe"
    " *.Z *.elc *.ln core"
    /* The rest we added to suit ourself. */
    " .svn/ .git/ .hg/ .bzr/";

“核心”文件是终止程序的核心转储,所以通常你不想复制这些文件.问题是当你有一个名为“core”的目录.

解决方案是使用“–include”选项,或者创建一个包含以下规则的过滤文件:

核心

然后使用“–filter = filename”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读