Linux
包括 tar + gunzip 的語法
我想要
tar
一些gzip
包含的目錄。請讓我知道它的語法是什麼。以下也需要考慮。1)如果
tar.gz
用一個tar文件完成2G後拆分會很有幫助。(比如說:tar.gzaa
變成2G,那麼它應該繼續創建tar.gzab
)
- 將日誌資訊附加到日誌文件的語法
3)排除某些類型的具有特定副檔名的文件(比如我的源目錄將是 tar 有一些帶有
.log
文件的子目錄,我需要排除那些要被 tarred 的文件。提前致謝。
也許你可以嘗試這樣的事情:
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
- 焦油詳細輸出到 STDERR,這就是我使用的原因
2> LOG_FILE.log
- 拆分詳細輸出到 STDOUT,我只是將其附加
>> LOG_FILE.log
- 要“恢復”您的目錄(join、gunzip 和 untar),您可以使用:
cat splitted_tar_file.tar.gz.a? | tar -xzvf -