2012-01-05 6 views
10

rsyncスクリプトで--cvs-excludeオプションを1年以上使用しています。私はSVNリポジトリと連携して、SVNファイルを生産から外しています。rsyncで--cvs-excludeを使用すると突然コアフォルダが無視されますか?

今日私はrsyncの変更を試みましたが、突然rsyncは "core"という名前のフォルダから何かを取り上げていませんでした。調査の結果、 "core"はCVSフォルダであることがわかったので無視されます。

私の質問はrsyncが私のために働いた理由ですが、突然今日は突然 "core"フォルダを無視するように決めました。

CVS除外を使用するのではなく、単にSVNファイルを無視することでこの問題を解決しましたが、今日までrsyncがなぜ働いていたのかまだ不明です。

私の古いrsyncのコード:

rsync -vcaz --no-p --cvs-exclude --exclude downloader --exclude media --exclude var  /var/www/project/ [email protected]:/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 

おそらくない重大な問題が、それは私を悩ませていますにもかかわらず。

答えて

16

同じ問題が発生しました。 -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

し、「--filter =ファイル名」を使用します。

ソリューションは、「--include」オプションを使用する、などのルールを含むフィルタファイルを作成することです。

関連する問題