Подтвердить что ты не робот

Удаление файлов после добавления в архив tar

Может ли GNU tar добавить много файлов в архив, удаляя каждый из них по мере его добавления?

Это полезно, когда на диске недостаточно места для хранения всего архива tar, а также исходных файлов.

4b9b3361

Ответ 1

В GNU tar используйте опцию --remove-files.

Ответ 2

У меня были файлы задач - архивы, а затем удалить в ОС "tar" без GNU-опций.

Способ приготовления:

Используйте "xargs"

Предположим, у нас есть каталог с файлами.
Нужно переместить все файлы за неделю в tar и удалить их.
Я делаю один архив (arc.tar) и добавляю к нему файлы. (Вы можете создавать новый архив каждый раз)

Решение:

find ./ -mtime +7 | xargs -I % sh -c 'tar -rf arc.tar % ; rm -f %'

Ответ 3

Я не уверен, что вы можете добавлять файлы в архивы bzip2 без предварительного извлечения. Однако вот одно решение, которое мне пришло в голову (давая вам алгоритм псевдошума):

1. For each [file] in [all small files]
    1.1 compress [file] into [file].bz2
    1.2 (optionally verify the process in some way)
    1.3 delete [file]
2. For each [bzfile] in [all bzip files from step 1]
    2.1 append to tar (tar rvf compressedfiles.tar [bzfile]
    2.2 (optionally verify the process in some way)
    2.3 delete [bzfile]

Теперь у вас должен быть файл tar, содержащий все файлы отдельно bzip2: ed files. Вопрос в том, сколько накладных расходов bzip2 добавляется к отдельным файлам. Это необходимо проверить.