rsyncで除外されているファイルを含める方法


16

私はすべての.*ファイルを除外するrsyncを設定しようとしています.htaccessが、残念ながら、これは機能しません:

rsync -avP --exclude=".*" --include="./.htaccess" ./. user@server:/dir

一般的な除外ルールを何らかの形で除外することは可能ですか?

回答:


24

最初の一致ルールが適用されるため、.htaccess除外する前に含めます.*

rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir

これは.htaccess、すべてのレベルでコピーします。あなたが何を意図していたかわかりません./.htaccess; コピーのルートでのみファイルを照合する場合は、パターンをで開始します/。rootのみが必要な場合は.htaccess、を使用することはできません。ルート化されていない--include='/.htaccess' --exclude='.*'ルールが実際にここで優先されるため、より複雑なことを行う必要があります。

rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir

さらに読む:rsyncフィルターの基本原則


@ fred.bear:それは本物のタイプミスであり、厄介なものでした。見つけてくれてありがとう!
ジル「SO-悪であるのをやめる」

おかげで、私は--include最初のものを入れようとしましたが、「./。htaccess」の前にある「./」がそれを殺していました。
リッチ

1
含まれている隠しディレクトリがある場合は、その@Richノート.htaccessファイルは、あなたがする必要があります--include='.*/'(と思う)最終の前に--exclude、も参照ここに
トビアスKienzler
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.