Резервное копирование данных

Создание резервных копий является неотъемлемой частью работы администратора eCA-VA.

Перед выполнением каких-либо настроек, изменений и обновлений функционального компонента следует в обязательном порядке выполнить резервное копирование.

Резервные копии создаются для:

  • содержимого каталога /opt/aeca;
  • базы данных аесаtest5;
  • файла /usr/bin/wildfly_pass.

Резервное копирование осуществляется на локальный диск в папку /opt/backup/ с указанием даты и времени создания резервной копии в имени архива. Каталог хранения архивов выбран исходя из того, что необходимо хранить резервные копии временно и не увеличивать размер занятого пространства жесткого диска. Для постоянного хранения требуется создать механизм переноса файлов.

Для постоянного хранения резервных копий следует:

  • создать каталог для хранения резервных копий;
  • составить сценарий для создания резервной копии;
  • настроить расписание вызова сценариев.

Создание полной резервной копии

Создание полной резервной копии eCA-VA осуществляется запуском скрипта с правами суперпользователя (root):

bash /opt/aecaCa/scripts/backup_full.sh

После запуска скрипта резервного копирования создаётся каталог /opt/aeca/backup, где будет размещён архив, содержащий в имени дату и время создания полной резервной копии.

Расписание резервного копирования

Для снижения потерь данных во время сбоя выполните настройку автоматического резервного копирования, настроив системный планировщик расписания crontab:

  • Выполните переход в режим редактирования crontab, выполнив команду:
sudo nano /etc/crontab
  • Укажите время и период запуска сценариев создания резервных копий:
0     0     1     *           * /opt/aecaCa/scripts/backup.sh
 
0     0     1     12          * /opt/aecaCa/scripts/backup.sh

где:

    • первая строка описывает запуск резервного копирования один раз в месяц,
    • вторая строка описывает запуск резервного копирования один раз в год.

Примечание:

Выход и сохранение из редактора расписания осуществляется командой:

:wq!

Для просмотра настроенного расписания используется команда:

crontab -l

Внимание! В случаях, когда изменений между резервными копиями обнаружено не было, возможно отображение сообщения о некорректном срабатывании функции stat следующего вида: tar: /tmp/1/inc/copia_*: Функция stat завершилась с ошибкой: No such file or directory

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

Восстановление данных производится из папки /opt/aecaCa/backup на компьютере, где развернут eCA-VA.

Для восстановления данных:

  • Если восстановление происходит после переустановки ОС выполните:
    • создание каталога /opt/aeca/backup, выполнив команду:
sudo mkdir -p /opt/aeca/backup
    • копирование в созданный каталог файла полной резервной копии;
    • переход в каталог, выполнив команду:
cd /opt/aeca/backup/
  • Выполните распаковку архива выбранной резервной копии во временную папку:
    • создайте временную папку, выполнив команду:
sudo mkdir -p /tmp/1/full
    • скопируйте выбранный архив резервной копии во временную папку, выполнив команду:
sudo cp /opt/aeca/backup/<имя_файла>.zip /tmp/1/full
    • перейдите в созданную папку с архивом резервной копии, выполнив команду:
cd /tmp/1/full
    • распакуйте zip-архив, выполнив команду:
sudo unzip <имя_файла>.zip

В результате в текущем каталог должен быть получен файл aeca.tar.

  • Распакуйте полученный архивы, выполнив команду:
sudo tar xfv aeca.tar
  • Скопируйте полученные файлы, выполнив команды:
sudo mv /tmp/1/full/wildfly_pass /usr/bin
 
sudo cp -rf /tmp/1/full/opt/aeca /opt/
  • Если восстановление резервной копии производится на компьютере, где уже развёрнут eCA-VA, то необходимо предварительно удалить базу данных, выполнив команду:
sudo -u postgres dropdb "aecatest"
  • Создайте базу данных (см. раздел 3 настоящего руководства), выполнив команды:
sudo -u postgres psql -c ‘create database aecatest;’
 
sudo -u postgres psql -c ‘create role aeca with superuser;’
 
sudo -u postgres psql -c 'alter database aecatest owner to aeca;'
 
sudo -u postgres psql -c 'grant all privileges on database aecatest to aeca;'
  • Восстановите базу данных, выполнив команду:
sudo psql -U aeca -W aecatest < aecatest.sql

Внимание! База данных aecatest должна быть создана предварительно.

  • После ввода команды восстановления базы данных необходимо ввести пароль пользователя «aeca».
  • Перезапустите службу eCA-VA, выполнив команду:
sudo systemctl restart aeca.service

Внимание! В ОС RedOS запуск/перезапуск сервиса может быть заблокирован подсистемой selinux. Для отключения подсистемы selinux необходимо отредактировать её конфигурационный файл sudo nano /etc/selinux/config, где строку SELINUX=permissive заменить на SELINUX=disabled

  • Для проверки состояния службы выполнить:
sudo systemctl status aeca.service

Если служба работает корректно, то должно быть указано состояние active (running).

  • Задайте права на объекты файловой системы eCA-VA, выполнив команды:
sudo chmod 777 /usr/bin/wildfly_pass
 
sudo chown aeca /usr/bin/wildfly_pass
 
sudo chown aeca -R /opt/aec