2016-09-21 2 views
-1

У меня есть необходимость «скраб» копии производственной резервной копии - это очень большой tar.gz, содержащий множество очень маленьких файлов, которые необходимо анонимизировать. Я знаю, что я могу извлечь его, перезаписать файлы и сжать его снова, но это занимает много места на диске и создает риск для машины-производителя. Я знаю, что могусоздание архива tar из другого с измененным количеством файлов

tar zxvf myarchive filea fileb filec 

, но тогда я не могу понять, если есть способ построения новый файл с моими новыми копиями из них перепутаны - в чем-то вроде

tar zxfv --exclude filea fileb filec | concat file, fileb, filec | tar cvfz newarchive 

ли что-нибудь подобное возможно? т.е. могу ли я создать новый архив без полноразмерного несжатого .tar, когда-либо появляющегося на моем диске?

ответ

2

Да, но если вы использовали tar(1), время выполнения будет экспоненциальным с размером архива. Подумайте о написании сценария на языке, который поддерживает потоковое tar, например. Python с tarfile, который позволит вам считывать отдельные файлы в потоке и затем добавлять их в другой архив.

Смежные вопросы