Как tar.gz все под xx MB?

В настоящее время я использую это: tar -pczf backup.tar.gz *

To tar.gz все. Однако есть и другие резервные копии (в других папках), это, как правило, только файлы> 50 МБ. Как я могу их исключить? Кроме того, кто-нибудь знает, как я могу исключить jpg / gif / pngs? благодаря

Вы можете передать список файлов непосредственно в tar (с помощью переключателя T ), то есть:

 find dir/ -size -50M | tar -czf test.tgz -T - --exclude '*.gif' --exclude '*.jpg' 

Вы можете комбинировать tar с find для выбора только файлов определенного размера: find . -size -50M find . -size -50M возвращает список всех файлов размером менее 50 МБ, которые затем можно передать в tar.

Редактировать Не заметил ваш второй вопрос, когда я впервые ответил: чтобы исключить файлы на основе их расширения, просто подключите вывод find к grep: find ... | fgrep -v \*.jpg \*.png etc. find ... | fgrep -v \*.jpg \*.png etc. (Непроверенный).

Расширяя предложение Артура, опция tar's r предназначена для добавления. Так что-то вроде этого может это сделать.

  find /path/to/dir -size -50M -exec tar -rvpf backup.tar \; 

EDIT : -exec требует завершения строки "\;" (Без кавычек).

Вы не можете присоединить сжатый архив, поэтому вам придется его вручную (или bzip2) отдельно.

Объедините с решением wds исключить изображения.

Исключения также могут быть сделаны путем find :

 find -maxdepth 1 -size -50M -not -regex ".*/.*\.\(jpg\|gif\|png\)$" | tar . . . 

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

–exclude = ОБРАЗЕЦ
Исключить файлы, соответствующие PATTERN
-X, –exclude-from = FILE
Исключить файлы, соответствующие шаблонам, перечисленным в ФАЙЛЕ

« Ubuntuforum » имеет хороший сценарий для резервного копирования файлов и исключения файлов по размеру.

Interesting Posts
Давайте будем гением компьютера.