すべての.logファイルと.errファイルを除外するには、ワイルドカードを使用してフォルダをアーカイブするソリューションが必要です。

すべての.logファイルと.errファイルを除外するには、ワイルドカードを使用してフォルダをアーカイブするソリューションが必要です。

/app/jbossすべてのファイルとフォルダを除いて、すべてのファイルとフォルダを保持したいと思います。。丸太そして。よく文書。以下のディレクトリ構造が/app/jboss大きすぎて複雑です。

したがって、以下のサンプルファイルの一部を除外する必要があります。

/app/jboss/standalone/server4/server1.log 
/app/jboss/standalone/server7/server1.log_bkp
/app/jboss/audir/diag.log
/app/jboss/standalone/server7/server1.err.gz
/app/jboss/standalone/version1.err
.... etc

可能であれば、私のソリューションがAiX、Solaris、Linuxで実行されることを願っています。それ以外の場合は、問題ごとに異なる解決策があります。

私にとって最高の圧縮.gzは私が好む圧縮です。

以下のジョンの解決策を試しましたが、うまくいかないようです。

[root@myhost moht_bkp]# find /app/jboss -not -name "*.log*" | cpio -o | gzip > /app/moht_bkp/test.gz
 1360843 blocks 

[root@myhost moht_bkp]# echo $? 0  

[root@myhost moht_bkp]# ls -ltr 
total 
1097768 -rw-r--r-- 1 root      root      562056007 Jul 20 10:45 test.gz   

[root@myhost moht_bkp]# gunzip test.gz 

[root@myhost moht_bkp]# ls -ltr total 680424 -rw-r--r-- 1 root root 696751616 Jul 20 16:34 test

ベストアンサー1

これを達成するには、find、cpio、およびgzipを一緒に使用できます。コピー出力モードのcpioは、標準入力からファイルのリストを取得し、標準出力にアーカイブを作成します。圧縮のためにアーカイブをgzipに渡すことができます。

次の例では、拡張子 .err と .log を除くすべてのファイルを検索し、ファイルのリストを cpio に渡し、cpio はアーカイブを gzip に戻します。最後に圧縮されたアーカイブがファイルにリダイレクトされます。

find app/jboss -not -name "*.err" -not -name "*.log" | cpio -o | gzip > /tmp/backup.gz

アーカイブからファイルを抽出するには、gzipファイルの圧縮を標準出力に解凍し、入力モードでcpioにパイプします。

zcat /tmp/backup.gz | cpio -i

CPIOはさまざまなアーカイブ形式をサポートし、出力がすべてのプラットフォームで互換性がある場合は、さまざまな形式オプションを調べることができます。

tarプログラムのGNUバージョンにも同様のオプション-T--files-from=FILE)があります。-ファイル名としてダッシュ()を使用して、標準入力からファイル名を読み取ることができます。

おすすめ記事