私はtar
含まれているディレクトリが欲しいですgzip
。構文が何であるか教えてください。考慮すべきいくつかの点があります。
tar.gz
1)2Gが完了した後にtarファイルを分割しておくと便利です。 (例:tar.gzaa
2Gになると生成を続ける必要がありますtar.gzab
)
2) ログファイルにログ情報を追加する構文
3)特定の拡張子を持つ特定の種類のファイルを除外します。 (私のソースディレクトリがtarで指定され、一部の.log
サブディレクトリにファイルが含まれていると仮定すると、tarで指定されるファイルを除外する必要があります。
よろしくお願いします。
ベストアンサー1
たぶん、次のようにしてみてください。
tar --exclude='*.EXTENSION' -czvf - DIRECTORY/ 2> LOG_FILE.log | split --verbose --bytes=2048MB - FILE.tar.gz. >> LOG_FILE.log
テストしてみましょう。directory
このファイルの名前が付けられたディレクトリがあるとしましょう。
eduardo@Notebook:~/testtar$ ll -h directory/
total 570M
drwxr-xr-x 2 eduardo eduardo 4,0K mar 6 23:25 ./
drwxr-xr-x 3 eduardo eduardo 4,0K mar 6 23:28 ../
-rw-r--r-- 1 eduardo eduardo 0 mar 6 23:16 file.any
-rw-r--r-- 1 eduardo eduardo 570M mar 6 23:24 hugefile.dd
-rw-r--r-- 1 eduardo eduardo 0 mar 6 23:15 image.jpg
-rw-r--r-- 1 eduardo eduardo 0 mar 6 23:16 log.log
-rw-r--r-- 1 eduardo eduardo 0 mar 6 23:14 text.txt
タールコマンド:
tar --exclude='*.log' -czvf - directory/ 2> splitted_tar.log | split --verbose --bytes=50MB - splitted_tar_file.tar.gz. >> splitted_tar.log
結果ファイル:
eduardo@Notebook:~/testtar$ ll -h
total 299M
drwxr-xr-x 3 eduardo eduardo 4,0K mar 6 23:53 ./
drwxr-xr-x 41 eduardo eduardo 4,0K mar 6 23:16 ../
drwxr-xr-x 2 eduardo eduardo 4,0K mar 6 23:25 directory/
-rw-r--r-- 1 eduardo eduardo 48M mar 6 23:52 splitted_tar_file.tar.gz.aa
-rw-r--r-- 1 eduardo eduardo 48M mar 6 23:53 splitted_tar_file.tar.gz.ab
-rw-r--r-- 1 eduardo eduardo 48M mar 6 23:53 splitted_tar_file.tar.gz.ac
-rw-r--r-- 1 eduardo eduardo 48M mar 6 23:53 splitted_tar_file.tar.gz.ad
-rw-r--r-- 1 eduardo eduardo 48M mar 6 23:53 splitted_tar_file.tar.gz.ae
-rw-r--r-- 1 eduardo eduardo 48M mar 6 23:53 splitted_tar_file.tar.gz.af
-rw-r--r-- 1 eduardo eduardo 13M mar 6 23:53 splitted_tar_file.tar.gz.ag
-rw-r--r-- 1 eduardo eduardo 399 mar 6 23:53 splitted_tar.log
ログファイル:
eduardo@Notebook:~/testtar$ cat splitted_tar.log
directory/
directory/text.txt
directory/hugefile.dd
directory/file.any
directory/image.jpg
creating file 'splitted_tar_file.tar.gz.aa'
creating file 'splitted_tar_file.tar.gz.ab'
creating file 'splitted_tar_file.tar.gz.ac'
creating file 'splitted_tar_file.tar.gz.ad'
creating file 'splitted_tar_file.tar.gz.ae'
creating file 'splitted_tar_file.tar.gz.af'
creating file 'splitted_tar_file.tar.gz.ag'
メモ:
- このファイルは、パラメータのため
log.log
最終ファイルには含まれません。 (ソースプロジェクトとターゲットプロジェクトの前に配置する必要があります。).tar.gz
--exclude
- Tar 詳細な出力は STDERR に移動するので、私が使用する理由です。
2> LOG_FILE.log
- 詳細な出力をSTDOUTに分割し、単に追加します。
>> LOG_FILE.log
ディレクトリを「復元」するには(登録、gunzip、および解凍)、次のものを使用できます。
cat splitted_tar_file.tar.gz.a? | tar -xzvf -