tar-このように除外する方法:“ / path / excludeRoot / ** / directoryToExclude”


2

バックアップからいくつかのディレクトリを除外したいと思います。ただし、すべてが特定の名前を持つわけではありません-指定されたルートディレクトリの下にあるもののみ rsyncでは、次のような除外マスクを使用します。

/path/excludeRoot/**/directoryToExclude

つまり、名前directoryToExcludeが下にあるすべてのディレクトリ/path/excludeRootが除外されます。

一方、名前はあるdirectoryToExcludeが他の場所にある各ディレクトリが含まれます

tarで実行できますか?

回答:


1

つまり--exclude、オプションのファミリーが十分に強力ではないため、残念ながら簡単には不可能です。

1つのアプローチは、外部プログラム(たとえばfind)を使用してオブジェクトのリストを取得し、-Tスイッチを使用してどのファイル/オブジェクトを含めるかをtarに伝えることです。

マニュアルページから引用:

-T, --files-from FILE
  get names to extract or create from FILE

ファイル名に特別な記号(および/またはスペース)が含まれている場合、--nulltarコマンドラインに追加します。また-print0、findで使用するリストを生成します-NUL(\000)文字でファイル/ディレクトリを分離します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.