Я хотел tar
какой-нибудь каталог с включенным gzip
. Пожалуйста, дайте мне знать, какой у него синтаксис. Следует также учитывать следующее.
1) Было бы полезно, если бы tar.gz
разделился после того, как 2G был заполнен одним tar-файлом. (Скажем: tar.gzaa
становится 2G, тогда он должен продолжить создание tar.gzab
)
2) синтаксис для добавления информации журнала в файл журнала
3) исключить некоторые типы файлов с определенным расширением (скажем, мой исходный каталог, который будет Чтобы быть tar, есть дочерний каталог с файлами .log
, и мне нужно исключить те, которые нужно зарезервировать.
Заранее спасибо.
Может быть, вы можете попробовать что-нибудь вроде этого:
tar --exclude='*.EXTENSION' -czvf - DIRECTORY/ 2> LOG_FILE.log | split --verbose --bytes=2048MB - FILE.tar.gz. >> LOG_FILE.log
Давайте протестируем. Предположим, у нас есть каталог с именем каталог
с этими файлами:
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:
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
(обязательно поместите его перед источником и {{ 1}} пункты назначения) 2> LOG_FILE.log
>> LOG_FILE .log
Чтобы "восстановить" ваш каталог (присоединиться, распаковать и распаковать), вы можете использовать:
cat splitted_tar_file.tar.gz.a? | tar -xzvf -