⟵ сюдатуда ⟶
  • Установка
  • Установка на Ubuntu
  • Обновления
  • Установка PRO
  • Бэкапы
  • Бэкапирование базы данных
  • Консольной утилитой bin/totum
  • Можно не переносить логи и автоматически сжимать в gz:
  • Можно не переносить некоторые таблицы:
  • Вручную через pg_dump
  • Бэкапирование по расписанию
  • Бэкапирование файлов
  • Восстановление бэкапа базы данных
  • Восстановление через консольную утилиту bin/totum
  • Если заменить cуществующую
  • Если создать новую
  • Восстановление вручную через PSQL
  • Консольная утилита bin/totum
  • Основы для пользователей
  • Интерфейс и компоновка
  • Таблицы и их параметры
  • Префильтр
  • Поля и их параметры
  • Синтаксис
  • Код, действия, форматирование
  • Реляционные взаимосвязи
  • Порядок расчета и единицы пересчета
  • Автозаполнение расчетных и временных
  • Дублирование строк и циклов
  • Сравнения
  • Функции
  • Отладка
  • Печать и CSV
  • API
  • Роли и пользователи
  • Нотификации
  • Действия по расписанию
  • Системные таблицы
  • [PRO] Деревья
  • [PRO] Анонимные таблицы
  • [PRO] Внешние формы
  • [PRO] Экспорт и импорт таблиц
  • [PRO] MeiliSearch
  • [PRO] Базы данных
  • [PRO] Настройка CSS
  • [PRO] Custom docs
  • [PRO] LDAP AD
  • [PRO] Версии файлов
  • [PRO] List-unsubscribe
  • [PRO] Динамические поля
  • [PRO] Only Office
  • [PRO] Auth Tokens
  • [PRO] 2FA
  • [PRO] Superlang
  • [PRO] Profiler
  • [PRO] Подключение функций
  • [SRV] Установка и подключение
  • [SRV] Экспорт, pdf, загрузка и предпросмотр
  • [SRV] XLSX/DOCX генераторы
  • Бэкапы

    Бэкапирование базы данных

    Конечным исполнителем всех операций являются pg_dump и psql. Если вы создали бэкап на одном сервере, а восстанавливаете на другом — убедитесь что вы идете с повышением версии PostgreSQL командой psql -V. При понижении версии бэкап скорее всего развернут не будет.

    Консольной утилитой bin/totum

    Перейдите в папку totum:

    cd /home/totum/totum-mit
    

    Выполните:

    bin/totum schema-backup --schema="SCHEMA_NAME" prod_dump.sql
    

    SCHEMA_NAME = по умолчанию totum

    Можно не переносить логи и автоматически сжимать в gz:

    bin/totum schema-backup --schema="SCHEMA_NAME" --no-logs --gz file_dump.sql
    

    Можно не переносить некоторые таблицы:

    bin/totum schema-backup --schema="SCHEMA_NAME" --no-content="table_name_1,table_name_2" file_dump.sql
    

    Имя схемы

    Вручную через pg_dump

    Создаем дамп. Выполняем из корневой папки Тотум. Замените USER и PASSWORD на соответствующие вашей БД.

    SCHEMA_NAME — имя схемы. Посмотреть можно в любой таблице в Тотум в верхнем правом углу.

    pg_dump -O -x --dbname=postgresql://USER:PASSWORD@LOCALHOST:5432/DB_NAME --schema="SCHEMA_NAME" > db_backup_name.sql
    
    • -O — означает без owner, те этот дамп можно будет восстановить на другом хосте.

    • -x — без привелегий.

    • db_backup_name.sql — вы можете создать папку backups в корневой папке тотума и указать полный или относительный путь до нее вместе с название файла копии.

    bin/totum schema-backup выполняет команду pg_dump исключая лог внешних синхронизаций и временные таблицы!

    Если необходимо выгрузить без логов:

    pg_dump -O -x --dbname=postgresql://USER:PASSWORD@LOCALHOST:5432/DB_NAME --schema="SCHEMA_NAME" --no-tablespaces --exclude-table-data='_tmp_tables' --exclude-table-data='_bfl' | grep -v '^--' > db_backup_name.sql
    

    Бэкапирование по расписанию

    Вы можете поставить создание дампа в cron в самом Тотум, использовав функцию execSSH.

    Пример кода Totum создающего копии в корневой папке тотума:

    PATH_TO_TOTUM_FOLDER — замените на путь к папке Тотум. Посмотреть можно выполнив pwd в консоли сервера.

    Вторым действием удаляет 7-дневный файл. Ставить в крон на исполнение 1 раз в день.

    Замените SCHEMA_NAME на имя схемы (по умолчанию totum):

    = : while(action: $a1; action: $a2)
    
    a1: execSSH(ssh: "cd ~/totum-mit && bin/totum schema-backup --schema='SCHEMA_NAME' --gz '%schema%-%Y%-%m%-%d%.sql'")
    
    a2: execSSH(ssh: str`"cd ~/totum-mit && rm SCHEMA_NAME-" + $dm + ".sql.gz"`)
    
            dm: dateAdd(date: $#nd; days: -7; format: "Y-m-d")
    

    Если при выполнении Тотум выдасть предупреждение о блокировке execSSH — снимите в Conf.php в корневой папке установки комментарий со строки /* protected $execSSHOn = true;*/ должно быть -> protected $execSSHOn = true;

    execSSH достепен только в PRO-версии

    Бэкапирование файлов

    Замените HOST на ваш Хост:

    Файлы расположены /home/totum/totum-mit/http/fls/HOST и /home/totum/totum-mit/totumTmpfiles/HOST.

    Вам нужно бэкапировать эти папку любым способом.

    Восстановление бэкапа базы данных

    Восстановление через консольную утилиту bin/totum

    При выполнении этой операции из корневой папки тотум схема БД полностью заменяется на схему из prod_dump.sql (замените schema_name на вашу схему):

    Если заменить cуществующую

    bin/totum schema-replace --with-active-crons file_dump.sql schema_name
    

    Если создать новую

    bin/totum schema-replace --with-active-crons file_dump.sql schema_name host.zone
    

    По умолчанию кроны при загрузке отключаются — --with-active-crons отключает это правило

    Восстановление вручную через PSQL

    Для восстановления заходим в psql и папки в которой лежит файл с бэкапом. Замените USER и PASSWORD на соответствующие вашей БД.

    psql --dbname=postgresql://user:password@localhost:5432/db_name
    

    Переименовываем текущую схему в резерв:

    ALTER SCHEMA имя_схемы RENAME TO имя_резерв;
    
    # enter, точка с запятой в конце строки обязательна
    

    Заливаем восстановление:

    \i имя_файла_бэкапа
    
    # enter без точки с запятой
    

    Проверяете восстановление и если ок, то удаляете переименованную старую схему

    DROP SCHEMA имя_резерв CASCADE;
    
    # enter, точка с запятой в конце строки обязательна
    

    Как посмотреть список всех схем в базе:

    select schema_name from information_schema.schemata;
    
    # enter, точка с запятой в конце строки обязательна
    

    Выходим

    \q
    
    # enter