rsyncはファイルをコピーしません

rsyncはファイルをコピーしません

私は次のことを実行していますがrsync -av -e "ssh" --include="dir1/***" --include="file1.txt" --exclude="*" superuser@remote-server:/var/www/ /var/、私が得るのは次のメッセージだけです:

receiving incremental file list

sent 276 bytes  received 10 bytes  21.19 bytes/sec
total size is 0  speedup is 0.00

ファイルは転送されません。

ベストアンサー1

dir1のサブディレクトリを含みますが、dir1自体は除外されます。だから子供たちはそれを見ませんでした。

rsyncマニュアルページから:

パス除外の概念は、末尾の「*」ルールを使用する場合に特に重要です。たとえば、次は機能しません。

+ /some/path/this-file-will-not-be-found
+ /file-is-included
- * 

親ディレクトリ「some」は「*」ルールによって除外されるため、rsyncは「some」または「some / path」ディレクトリ内のファイルにアクセスしないため失敗します。 1つの解決策は、階層内のすべてのディレクトリを含む単一の規則(「+ * /」(「- *」規則の前のどこかに配置))を要求し、その --prune-empty-dirsオプションを使用することです。別の解決策は、アクセスが必要なすべての親ディレクトリに特定のインクルードルールを追加することです。たとえば、次のルールセットは正しく機能します。

+ /some/
+ /some/path/
+ /some/path/this-file-is-found
+ /file-also-included
- *

おすすめ記事