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

30 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# НИИКН: нарезка папки «Опыт» (Закупка Соловки) в тома ≤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 #закупки