BGPVR Ръководство за оператора
Ръководство за оператора

Архивиране

Създаване, планиране, изтегляне, качване, възстановяване и изтриване на архиви. Всеки архив е tar.gz с проверената за цялост база данни, ключа за паролите и тайния ключ на сесиите. На страницата е и картата „Поддръжка на базата данни“ (срокове за съхранение, нощна поддръжка, компактиране).

На тази страница
  1. Резервни копия
  2. В конзолата
  3. Създаване на снимка веднага
  4. Задаване на график, срок на съхранение и целева папка
  5. Сваляне на снимка извън машината
  6. Изтриване на снимка
  7. Възстановяване от архив
  8. Връщане на „умрял“ сървър
  9. Базите да остават малки
  10. Внимание

Резервни копия

Автоматични копия на базата данни се правят всяка нощ и се проверяват, преди да бъдат запазени.

Настройва се на страница Архивиране (в страничното меню): час (по подразбиране 04:00), срок на съхранение (по подразбиране 14 дни) и папка (по подразбиране /data/backups). Всяко копие е един файл bgpvr-<дата>.tar.gz, който съдържа базата данни, ключа за криптиране на паролите и тайния ключ на администраторските сесии — за възстановяване не е нужно нищо друго. Старите файлове bgpvr-*.db.gz са отбелязани с DB ONLY.

Не всичко е в копието

Не се включват: записите, VOD файловете, логата на каналите, генерираният HLS и базата на програмата (epg.db). За медията е нужно отделно архивиране на файловата система; програмата се изтегля наново след възстановяване.

Възстановявайте от конзолата, не на ръка

Възстановяването става от страница Архивиране. Не подменяйте файлове на базата на ръка, освен ако конзолата е недостъпна; ако все пак се наложи, изтрийте и файловете -wal и -shm, иначе SQLite ще приложи стар журнал върху възстановената база — тиха повреда.

В конзолата: Архивиране

Създаване на снимка веднага

Архивиране → „Backup now“ в заглавната лента на картата Backups. Бутонът показва „Backing up…“, след което излиза съобщение с получения размер и таблицата се обновява. Файловете се именуват bgpvr-YYYYMMDD-HHMMSS.tar.gz; по-старите снимки bgpvr-*.db.gz носят значка DB ONLY. „Last backup“ и статусът му (ok или error: …) се показват под заглавието. Неуспешна проверка за цялост изтрива временния файл и записва грешката, вместо да запази повреден архив.

Задаване на график, срок на съхранение и целева папка

Архивиране → картата Settings: маркирайте „Automatic daily backup“ (включено по подразбиране), задайте „Daily time (HH:MM)“ (по подразбиране 04:00), „Keep (days)“ (по подразбиране 14) и „Backup folder (on server)“ (по подразбиране /data/backups) → Save. Планировчикът се събужда на всеки 60 секунди и стартира, щом часът е настъпил и днешният архив още не е правен; рестарт по средата на деня не води до второ изпълнение.

Сваляне на снимка извън машината

Архивиране → таблицата Backups → „Download“ на съответния ред. Файлът се предава към браузъра през вашата автентикирана администраторска сесия. Правете това преди всяко рисково обновяване — копие, което стои на самата машина, не струва нищо, ако машината откаже.

Изтриване на снимка

Архивиране → таблицата Backups → червеният бутон с кошче → потвърдете в диалога на браузъра, в който се вижда името на файла.

Възстановяване от архив

Първо изтеглете архива. Натиснете „Restore“ на реда и въведете RESTORE. Сървърът подготвя архива, пази текущата база като /data/backups/pre-restore-<ts>.db.gz и се рестартира: всички потоци прекъсват за около 20 секунди и попадате на страницата за вход.

Връщане на „умрял“ сървър

Нова инсталация → създайте администраторския профил → Архивиране → „Upload backup“ (.tar.gz или .db.gz, проверява се при качване) → „Restore“ на качения ред.

Базите да остават малки

Архивиране → „Поддръжка на базата данни“ показва „Основна база“ и „База на програмата (epg.db)“ с размер, журнал (WAL) и свободно място. „Съхранение (дни, 0 = пази завинаги)“ задава по едно правило за всеки вид данни: програма 7, приключили AI задачи 30, stream-health 30, тестове на ключове 90, история на гледане 90, събития от устройства на портала 30, събития за сигурност 30, телеметрия на промо кампании 400, история на гледане на записи и VOD 400, отметки за гледане на записи 365, решени тикети — пазят се; отметките и данните на изтрити записи и профили се почистват след един ден. „Нощна поддръжка“ ги изпълнява в тихия прозорец; „Компактирай файловете (VACUUM) при свободно място ≥“ освобождава място, когато нищо не се записва. Бутони: „Преглед“ / „Почисти сега“ / „Компактирай сега“ / „Запази“.

Внимание

  • „Daily time“ се приема само ако е записан точно като две цифри, двоеточие, две цифри. Ако въведете 4:00 вместо 04:00, бекендът мълчаливо отхвърля стойността, а съобщението пак казва „Settings saved“ — старият час остава в сила.
  • Живата база работи в режим WAL. Ако конзолата е недостъпна и се налага да подмените файла на базата на ръка, изтрийте и старите -wal/-shm, иначе SQLite ще приложи остарелия WAL върху възстановения файл — тиха повреда на данните.
  • Изчистването по срок на съхранение работи по времето на промяна (mtime) на всичко в папката за архиви, което съвпада с bgpvr-*.tar.gz или bgpvr-*.db.gz — снимка, която сте запазили нарочно за по-късно, се изтрива, щом надхвърли „Keep (days)“.
  • „Backup folder (on server)“ е път ВЪТРЕ в контейнера. Ако го насочите извън монтиран том, всички снимки изчезват при пресъздаване на контейнера.
  • Архивът съдържа конфигурация, клиенти, пакети, канали и метаданни за таймерите плюс двата тайни ключа. Записите, VOD файловете, picons и базата на програмата (epg.db) не са в него — възстановяването връща назад базата, но не и медията, а програмата се изтегля наново.
  • Стара снимка с DB ONLY не възстановява pw_key: след възстановяването ѝ абонатите не могат да влязат, освен ако ключовият файл на сървъра не е същият.
  • Редът „Off-site copy“ показва статус само ако задача извън машината докладва към него; иначе пише „no report yet“.
  • „Заключвания“ (Lock storms) брои грешките „database is locked“. Пет или повече за минута изпращат един ред в Telegram и сигнал в конзолата (после мълчи 10 минути).
  • Всички крайни точки за архивиране и поддръжка изискват администратор, но елементът „Архивиране“ в навигацията не е скрит за служителските профили. Служител може да отвори страницата и просто вижда празна таблица с настройки по подразбиране.