Задать вопрос
fStrange
@fStrange

Архивирование по размеру [ошибка]

Пробовал архивировать так.
find docs/ -size -100k -print | xargs tar -czvf archive.tar.gz


И так.

find docs/ -size -100k > target.txt
tar czvpf test.tar.gz -T target.txt


Выдает ошибку «bash: fork: Cannot allocate memory»

Файлы то я сархивировал третьим путем, через php скрипт. Но хочется разобраться.
1) Почему не хватает памяти? Файл target.txt сравнительно небольшой получился, меньше 1Mb
2) Решается ли как то проблема без php?
  • Вопрос задан
  • 2992 просмотра
Подписаться 2 Оценить 3 комментария
Решения вопроса 1
AterCattus
@AterCattus
Люблю быстрый backend
«fork: Cannot allocate memory» это уже нехватка памяти, чтобы просто новый процесс запустить, а не найти/запаковать. Вы проверяли свободную оперативку ДО выполнения этих команд?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AgentSIB
@AgentSIB
Если файлов много, то попробуйте так.
tar cf archive.tar --files-from /dev/null
find docs/ -size -100k -exec tar rf archive.tar {} \;
gzip -9 archive.tar
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы