Привет, @Gilgamesh1082,
Я пока не опубликовал инструкцию, потому что не хватает нескольких скриншотов, но вот инструкция для Windows — буду благодарен за любые комментарии, когда будешь её проходить:
Шаг 1: Установщик Windows UniFi не включает бинарный файл mongod. Зайди на официальный сайт MongoDB, выбери версию 2.4.14 в выпадающем списке и скачай .zip-архив, который подходит для архитектуры процессора твоего сервера.
Шаг 2: Распакуй \bin\mongo.exe в выбранную рабочую папку. В этом примере используем C:\prune\. Остальные файлы из архива можно игнорировать.
Шаг 3: Скачай скрипт на сервер по этой ссылке и сохрани его в рабочей папке.
Шаг 4: Открой командную строку, нажав WINDOWS + R, набери cmd и нажми ENTER.
Шаг 5: В командной строке перейди в рабочую папку командой:
cd C:\prune\
Шаг 6: Запусти пробный запуск скрипта. По умолчанию скрипт работает в режиме "dryrun" и покажет, что будет удалено из базы данных, но ничего не удалит на самом деле. Это чтобы убедиться, что скрипт запускается правильно:
mongo.exe --port 27117 < mongo_prune_js.js
Вывод должен выглядеть примерно так:
root@UniFi-CloudKey:~# mongo.exe --port 27117 < mongo_prune_js.js
MongoDB shell version: 2.4.10
connecting to: 127.0.0.1:27117/test
[dryrun] pruning data older than 7 days (1445423229629)...
switched to db ace
[dryrun] pruning 17 entries (total 17) from alarm...
[dryrun] pruning 3492 entries (total 3989) from event...
[dryrun] pruning 0 entries (total 0) from guest...
[dryrun] pruning 422 entries (total 473) from rogue...
[dryrun] pruning 20 entries (total 36) from user...
[dryrun] pruning 0 entries (total 0) from voucher...
switched to db ace_stat
[dryrun] pruning 1141 entries (total 1305) from stat_archive...
[dryrun] pruning 169 entries (total 204) from stat_daily...
[dryrun] pruning 3205 entries (total 3877) from stat_hourly...
[dryrun] pruning 0 entries (total 29) from stat_life...
[dryrun] pruning 0 entries (total 0) from stat_minute...
bye
root@UniFi-CloudKey:~#
Шаг 7: Отредактируй скрипт, чтобы отключить dryrun и настроить, сколько дней данных сохранить. По умолчанию скрипт сохраняет данные за 7 дней. Используй блокнот или похожий простой текстовый редактор, не применяй редакторы с форматированием, типа Wordpad или Word.
Измени var days=7; чтобы поменять количество дней для сохранения; и замени var dryrun=true; на var dryrun=false; чтобы скрипт действительно очистил базу, а не только выполнил пробный запуск.
Шаг 8: Запусти изменённый скрипт, чтобы реально очистить базу данных:
mongo.exe --port 27117 < mongo_prune_js.js
Примечание: так как база будет реально изменена, этот шаг может пройти намного дольше, чем пробный запуск в Шаге 6. Не прерывай работу до появления сообщения «bye».
Шаг 9: Проверь, что операция прошла успешно и ошибок не было. Вывод должен быть похож на этот:
<тут будет красивая скриншот>
Шаг 10: Закрой окно терминала.
Шаг 11 (по желанию): Удали созданную папку и файлы внутри, если не планируешь использовать их снова.