Rsync の包含パターンと除外パターンをよく理解できません。

Rsync の包含パターンと除外パターンをよく理解できません。

まず、私はこのトピックについて多くを読んだ。Rsyncフィルタ:1つのパターンのみをコピー)、それでも理解できなかったり、インストールに問題があるようです…

私の構造「from」は次のとおりです。

Windows
Users
  User1
    Documents
      doc1.txt
      doc2.txt
    AppData
    Downloads
  User2
    Documents
      doc3.txt
      doc4.txt
    AppData
    Downloads

すべてのユーザーに対してすべてのドキュメントフォルダとサブフォルダをバックアップしたいのですが、AppDataとダウンロード構造はバックアップしたくありません。

私が望む目的地について:

Users
 User1
  Documents
   doc1.txt
   doc2.txt
 User2
  Documents
   doc3.txt
   doc4.txt

私は多くのパターンを試しましたが、それらのどれもうまくいきませんでした。これから始めましょう:

rsync -av --include="*/" --exclude="*/AppData" --exclude="*/Downloads" /source/Users /destination

各ユーザーのAppDataとダウンロードフォルダとサブフォルダを除外するにはどうすればよいですか?

ありがとう

ほぼ同じ内容を議論する別のスレッドがあります(私がよく理解した場合)。 絶対パスを使用した rsync とサブパスの除外

私の状況に合わせて回答を調整しましたが、アプリケーションデータとダウンロードはまだターゲットパスに存在します。

rsync -av --no-p  --include="*/" --include="*/Documents/**" --exclude="** /source/Users /destination

ベストアンサー1

多くのシェルには記号は*含まれていません/(前に来る代わりに.)(参照男7ボールglobstar|)dotglobオプションがshoptあるので除外する場合アプリケーションデータそしてダウンロードフルパスを提供する必要があります。源泉--exclude="*/*/AppData" --exclude="*/*/Downloads")または名前のみを保持します(--exclude="AppData" --exclude="Downloads")ディレクトリがどのレベルにあるかは関係ありません。

rsync -av --exclude="AppData" --exclude="Downloads" /source/Users /destination

おすすめ記事