niikn: папка Опыт (Закупка Соловки) нарезана в тома до 100 МБ, ссылка kqH46Jrjnb4ri3q

This commit is contained in:
dttb
2026-06-11 11:45:49 +03:00
parent 564d73418a
commit e8b73d375a

View File

@@ -0,0 +1,29 @@
# НИИКН: нарезка папки «Опыт» (Закупка Соловки) в тома ≤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 #закупки