btrfs sub snap foo bar
foo
bar
内のサブボリュームを除いて、サブボリュームと同じサブボリュームの内容を作成しますfoo
。
私が望むのは、出力bar
()からいくつかの一般的なフォルダを除外することです。node_modules
tmp
rsync --exclude ...
これを達成する方法には、次のようなさまざまな方法があります。
- 除外する各フォルダのサブボリュームを作成します。 (デメリット:
node_modules
このシナリオのように自動生成されたフォルダは通常のフォルダとして作成されるため除外できません。) - 一時サブボリュームを作成し、不要なファイル/フォルダを削除して(最も有望なアプローチ)、ここで最終サブボリュームを作成します。
上記に加えて、スナップショットの作成中にプログラム的なフィルタを適用できますか?
答え1
いいえ。ファイルやディレクトリを除外せずにスナップショットを作成することはできません。 BTRFS Wikipediaは次のように述べています。
サブボリュームは良いディレクトリ - 名前があり、何も生成されず、ファイルやその他のディレクトリを保持できます。すべてのBtrfsファイルシステムには、最上位サブボリュームであるサブボリュームが1つ以上あります。
ディレクトリなどのサブボリュームは、ファイルシステムの残りの部分とは無関係にマウントできます。スナップショットの単位でもあります。:個々のサブボリュームの原子スナップショットを作成できますが、ツリー全体を作成することはできません。サブボリューム(たとえば、単一のディレクトリ)より小さいエントリのアトムスナップショットを作成することはできません。。 -https://btrfs.wiki.kernel.org/index.php/FAQ#Subvolumes