GNU/Lunux архивировать файлы в директории, которые больше 5мб

GNU/Lunux архивировать файлы в директории, которые больше 5мб

31.10.2017 12:44:18 Просмотров 26 Источник

Как в домашней директории home/[user] поместить в архив tgz все фалы, которые больше 5мб. Нужно обойти все папки и все вложения в директории [user].

У вопроса есть решение - Посмотреть?

Ответы - GNU/Lunux архивировать файлы в директории, которые больше 5мб / GNU/Lunux архивировать файлы в директории, которые больше 5мб

Является ответом!
Sergey

31.10.2017 06:48:17

Я думаю, вам подойдёт нечто вроде:

#!/bin/bash
# Архивируем все файлы рекурсивно в текущей директории,
# размер которых превышает 5М

find . -size +5M > FileList.txt
tar --files-from FileList.txt -cvzf archive.tar.gz

или в одну строчку:

find . -size +5M ! -name archive.tar.gz | tar --files-from=- -cvzf archive.tar.gz
https://ru.stackoverflow.com/questions/738097/gnu-lunux-%d0%b0%d1%80%d1%85%d0%b8%d0%b2%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d0%b2-%d0%b4%d0%b8%d1%80%d0%b5%d0%ba%d1%82%d0%be%d1%80%d0%b8%d0%b8-%d0%ba%d0%be%d1%82%d0%be%d1%80%d1%8b%d0%b5-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%b5-5%d0%bc%d0%b1/738130#comment1126621_738130
Раз find то почему не … -exec tar -cvzf archive.tar.gz {} + ?
https://ru.stackoverflow.com/questions/738097/gnu-lunux-%d0%b0%d1%80%d1%85%d0%b8%d0%b2%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d0%b2-%d0%b4%d0%b8%d1%80%d0%b5%d0%ba%d1%82%d0%be%d1%80%d0%b8%d0%b8-%d0%ba%d0%be%d1%82%d0%be%d1%80%d1%8b%d0%b5-%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%b5-5%d0%bc%d0%b1/738130#comment1126903_738130
потому что exec на каждый файл отдельно
Закрыть X