
次のフォルダ構造があります
A
|-B
| |-C
| |-1.log
| |-2.log
|-10.log
|-D
|-E
|-F
|-php.log
|-H
|-php.log
HサブディレクトリにあるすべてのログファイルとPHPファイルを収集してtar.gzファイルにしたいと思います。
試してみましたが、ディレクトリから再帰的に検索しtar -czf temp.tar.gz /A/**/*.log /A/D/F/H/php.log
ないようです。A
私はAmazon Linuxを使用しています。
答え1
ワイルドカードの一致/シェル ワイルドカードに依存するのではなく、次のコマンドを使用して必要find
なファイルを見つけてリストし、リストをtar
アーカイブに送信します。
find /A/ -type f -print0 -name \*.log | tar -cvf /path/to/file.tar --null -T -
答え2
次のコマンドは、「.」で始まるすべてのディレクトリ構造内のすべての.logファイルを繰り返し圧縮します。親ディレクトリ、特定のファイルが必要な場合はgrepを使用してフィルタリングしてください。
tar -cvf file.tar `find . -type f -name *.log`