Ответ 1
В GNU tar используйте опцию --remove-files
.
Может ли GNU tar добавить много файлов в архив, удаляя каждый из них по мере его добавления?
Это полезно, когда на диске недостаточно места для хранения всего архива tar, а также исходных файлов.
В GNU tar используйте опцию --remove-files
.
У меня были файлы задач - архивы, а затем удалить в ОС "tar" без GNU-опций.
Используйте "xargs"
Предположим, у нас есть каталог с файлами.
Нужно переместить все файлы за неделю в tar и удалить их.
Я делаю один архив (arc.tar) и добавляю к нему файлы. (Вы можете создавать новый архив каждый раз)
find ./ -mtime +7 | xargs -I % sh -c 'tar -rf arc.tar % ; rm -f %'
Я не уверен, что вы можете добавлять файлы в архивы 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 добавляется к отдельным файлам. Это необходимо проверить.