⟵ сюдатуда ⟶
  • Установка
  • Конфигурация на Ubuntu
  • Обновления
  • Бэкапы
  • Бэкапирование базы данных
  • Бэкапирование по расписанию
  • Восстановление бэкапа базы данных
  • Бэкапирование файлов
  • Multi/no-multi
  • Консольная утилита bin/totum
  • Основы для пользователей
  • Интерфейс и компоновка
  • Таблицы и их параметры
  • Префильтр
  • Поля и их параметры
  • Синтаксис
  • Код, действия, форматирование
  • Реляционные взаимосвязи
  • Порядок расчета и единицы пересчета
  • Сравнения
  • Функции
  • Отладка
  • Автозаполнение расчетных и временных
  • Дублирование строк и циклов
  • Деревья
  • Печать и CSV
  • API
  • Роли и пользователи
  • Нотификации
  • Действия по расписанию
  • Анонимные таблицы
  • Внешние формы
  • Экспорт и импорт таблиц
  • Системные таблицы
  • Подключение функций
  • Дополнительные интерфейсы
  • Структура файлов
  • Структура базы
  • Бэкапы

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

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

    pg_dump --dbname=postgresql://USER:PASSWORD@LOCALCHOST:5432/DB_NAME --schema="SCHEMA_NAME" > db_backup_name.sql
    

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

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

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

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

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

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

    Имя схемы

    USER и PASSWORD — замените на соответсвующие вашей БД.

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

    = : while(action: $a1; action: $a2)
    
    a1: execSSH(ssh: $strDump)
        strDump: strAdd(str: "pg_dump --dbname=postgresql://USER:PASSWORD@LOCALCHOST:5432/DB_NAME --schema='SCHEMA_NAME' > /PATH_TO_TOTUM_FOLDER/db_backup_name_"; str: $#nd; str: ".sql")
    
    a2: execSSH(ssh: $strRm)
        strRm: strAdd(str: "cd ~/totum-mit && rm db_backup_name_"; str: $dm)
            dm: dateAdd(date: $#nd; days: -7; format: "Y-m-d")
    
    // SCHEMA_NAME должно быть указано в кавычках "SCHEMA_NAME"
    // 
    

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

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

    Для восстановления заходим в psql. Замените USER и PASSWORD на соответсвующие вашей БД.

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

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

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

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

    \i имя_файла_бэкапа
    # enter
    

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

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

    Выходим

    \q
    
    # enter
    

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

    Файлы расположены ~/TOTUM_FOLDER/http/fls

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