Files
knowledge-base/decisions/2026-06-11-niikn-opyt-arhiv-100mb.md

2.4 KiB
Raw Blame History

НИИКН: нарезка папки «Опыт» (Закупка Соловки) в тома ≤100 МБ

Дата: 2026-06-11 Задача: папку по шаре https://niikn.com/s/c3kwLWRa8dKX848 сжать в файлы до 100 МБ (лимит закупочной площадки).

Исходник

  • Владелец: maksimmaul@gmail.com, путь Закупка Соловки/Опыт
  • 46 папок (146), 5287 файлов, 115 ГиБ — договоры, акты ГИКЭ, УПД (PDF/ZIP/SIG)
  • Внутри есть одиночные PDF до 336 МБ → одиночными зипами не обойтись, только multi-volume

Решение

  • Работа целиком на VM 108 (192.168.1.200, datadir /mnt/ncdata), без перегона данных по сети
  • Бенчмарк: deflate -1 даёт всего 2.7% на PDF-сканах при 42 МБ/с → выбран store (-0), IO-bound
  • zip -rq -0 -s 95m на каждую папку: тома по 95 МиБ = 99 614 720 байт — меньше «100 МБ» и в MiB, и в десятичных МБ
  • Выход: Закупка Соловки/Опыт-архивы-100мб/<N>/<N>.zip + <N>.z01… — по подпапке на объект
  • Регистрация: occ files:scan --path=..., владелец 33:33
  • Ссылка создана через OCS API c app-password бота Максимки (LXC 114, /root/.clawdbot/nextcloud-creds.env)

Результат

  • 1262 тома, 115 ГБ, 0 ошибок, ~29 минут; целостность проверена (склейка zip -s 0 + unzip -t)
  • Публичная ссылка: https://niikn.com/s/kqH46Jrjnb4ri3q (read-only)
  • Диск VM 108: /mnt/ncdata 93% (302 ГБ свободно) — после загрузки на площадку папку-дубль можно удалить

Грабли/заметки

  • Публичная шара c3kw… read-only (permissions 17) — заливать через неё нельзя, поэтому писали в datadir + scan
  • Распаковка у получателя: положить все тома <N>.z* + <N>.zip в одну папку, открыть <N>.zip через WinRAR/7-Zip
  • Скрипт и лог на VM 108: /tmp/zip-opyt.sh, /tmp/zip-opyt.log

#niikn #nextcloud #закупки