rsyncモードのコピー:ドットファイル

rsyncモードのコピー:ドットファイル

私は質問に与えられたアドバイスに従いました Rsyncフィルタ:1つのパターンのみをコピーコマンドラインを設定するには、ドットファイルをバックアップするだけです。.inF*

ただし、次のコマンドを使用します。

rsync -av --include='.inF*' --include='*/' --exclude='*' /0ale/ \
   root@lambda2:/0ale/

ディレクトリ構造がミラーリングされているがドットファイルがコピーされていないことがわかりました。テストモードと同じコマンド

rsync -av --include='test*' --include='*/' --exclude='*' /0ale/ \
    root@lambda2:/0ale/

ファイルが正しくコピーされたため、test1.txtドットファイルの問題にすぎません。どのようなヒントがありますか?

答え1

包含/除外フィルタは、rsync表示される順序で処理されます。サブディレクトリ(または現在の作業ディレクトリ以外のディレクトリ)rsyncのドットファイルを一致させるには、まずフォルダを含めて*/から、インクルード.*ドットファイルと一致するようにインクルードルールを設定する必要があります。

rsync -av  --include='*/' --include='.inF*' --exclude='*' /0ale/ \
   root@lambda2:/0ale/

答え2

ドットファイルをコピーするために上記の答えに似たものを試しましたが(パターンは--include='.**' --exclude='*':)、私が望んでいた他の除外項目の一部が実際に除外されていないことがわかりました。

追加のフラグを渡すには、--exclude=次のパターンを使用します。

rsync  -avz --exclude='path/to/exclude1' --exclude='path/to/exclude2' --exclude='.Trash'  /0ale/.[^.]* root@lambda2:/0ale/

関連情報