圧縮ディレクトリ

圧縮ディレクトリ

2日後のディレクトリを圧縮(tarまたはgzip)したいです。zip次のファイルがあります。各ディレクトリには複数のサブディレクトリとファイルがあります。

Oct 21 13:01 test1
Oct 22 13:01 test2 

希望の出力:

   test1.tar
   test2.tar

以下のコマンドを書いてみましたが、うまくいきません。

   find . -type d -maxdepth 1 -mtime +2 \! -name '*.gz' -exec gzip {} \;

次のエラーが発生します。

   gzip:test1.tar is a directory -- ignored
   gzip:test2.tar is a directory -- ignored

ベストアンサー1

gzipはファイルのみを圧縮できるため、gzip圧縮の前にまずディレクトリをtarする必要があります。

あなたが望むのは、tar「z」、「z」圧縮でGNUを使用することです:

find . -type d -maxdepth 1 -mtime +2 \! -name '*.gz' -exec tar cfz {}.tgz {} \;

コメント後の編集:

私はこれが一般的な状況で重複していることを知りませんでした\! -name '*.gz'...ディレクトリ名が.gz

find . -type d -maxdepth 1 -mtime +2 -exec tar cfz {}.tgz {} \;

おすすめ記事