0

私は Synology DS213j を持っています。PhotoStation をインストールして、サムネイル画像を作成するために、すべてのフォルダーに @eaDir フォルダーをいくつか作成しました。私は例えばこれを持っています:

/photo
/photo/2012
/photo/@eaDir
/photo/2012/Album1
/photo/2012/Album2
/photo/2012/@eaDir
/photo/2012/Album1/SubAlbum1
/photo/2012/Album1/SubAlbum2
/photo/2012/Album1/@eaDir

フォルダー 2012 を tar して、バックアップのために Amazon Glacier に送信したいと考えています。zip には大きすぎる 4Gb を超えるファイルがいくつかある可能性があるため、.zip は使用したくありません。

私はこれをしました:

tar -cvzf 2012.tar.gz 2012/

機能しましたが、@eaDir という名前のすべてのフォルダーが含まれていました。

私の質問はです。tar ファイルからすべての @eaDir フォルダーを除外したいと考えています。

--exclude 関数を使用しようとしましたが、Synology では有効ではないようです。別の tar 関数を使用できるようにするには、別のパッケージをインストールする必要があるかもしれません。たぶん、私が望むものを達成するために正規表現関数を使用できます。

誰かがそれを手伝ってくれますか?( --exclude または regex またはその他のものを使用)

4

1 に答える 1

0

指定されたファイルを除外するのは簡単ではありませんでした..... prune 、 X オプション --exclude=PATTERN オプション、および tar の --exclude-tag-under=FILE オプションで検索を試みましたが、空のディレクトリまたは内容@eaDirは最終結果にパックされます....また、whileループでzipに追加する名前を提供する小さなスクリプトを試しましたが、それは私に小さな質問をもたらしました....

あなたの質問であなたは言った:「いくつかのサムネイル画像を作成するために、すべてのフォルダーにいくつかの@eaDirフォルダーを作成しました」....そのディレクトリ@eaDirまたはそのコンテンツはあなたにとって重要ですか?

次のようにしてそれらを削除すると、はるかに簡単になります。

find ./photo -iname "@eaDir" -ok rm -rf {} \; 

そして、その上でtarを使用します....

 tar -cvf photo.tar ./photo
于 2013-05-30T03:56:11.260 に答える