Резервное копирование#

Раздел состоит из перечня скриптов резервного копирования каждой подсистемы (сервера).

Требования к последовательности запуска скриптов — отсутствуют.

Допустимо выборочное резервное копирование подсистем (серверов).

Резервное копирование Контроллера домена#

Для выполнения резервного копирования Контроллера домена необходимо перейти на рабочую станцию, которая выполняет функцию Контроллера домена и выполнить скрипт:

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Создание резервной копии FreeIPA
ipa-backup
# Архивирование РК FreeIPA
tar -zcvf $BACKUP_PATH/ipa.tar.gz /var/lib/ipa/backup
# Очистка промежуточного бэкапа FreeIPA
rm -rf /var/lib/ipa/backup/*
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 celery celerybeat rabbitmq-server postgresql salt-minion salt-minion-standalone
# Архивирование БД PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Архивирование RabbitMQ
tar -zcvf $BACKUP_PATH/rabbitmq.tar.gz /var/lib/rabbitmq/mnesia/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории rbta
tar -zcvf $BACKUP_PATH/rbta.tar.gz /opt/rbta/
# Запуск затрагиваемых бэкапом сервисов
systemctl start apache2 celery celerybeat rabbitmq-server postgresql salt-minion salt-minion-standalone

Реплики — это равноправные серверы, не требующие отдельных условий для резервного копирования. Для их копирования используются команды, аналогичные командам для резервного копирования Контроллера домена.

Резервное копирование подсистемы журналирования событий#

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

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/

Резервное копирование подсистемы печати#

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

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop cups salt-minion salt-minion-standalone
# архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Запуск затрагиваемых бэкапом сервисов
systemctl start cups salt-minion salt-minion-standalone

Резервное копирование подсистемы DHCP#

Для выполнения резервного копирования подсистемы DHCP необходимо перейти на рабочую станцию, которая выполняет функцию сервера DHCP и выполнить скрипт:

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/

Резервное копирование подсистемы мониторинга#

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

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 zabbix-agent zabbix-server postgresql salt-minion salt-minion-standalone
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование zabbix
tar -zcvf $BACKUP_PATH/zabbix.tar.gz /usr/share/zabbix/
# Архивирование БД PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Запуск затрагиваемых бэкапом сервисов
systemctl start apache2 zabbix-agent zabbix-server postgresql salt-minion saltminion-standalone

Резервное копирование подсистемы установки ОС по сети#

Для выполнения резервного копирования подсистемы установки ОС по сети необходимо перейти на рабочую станцию, которая выполняет функцию сервера установки ОС по сети и выполнить скрипт:

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 postgresql salt-minion salt-minion-standalone
# Архивирование PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование директории tftp
tar -zcvf $BACKUP_PATH/tftp.tar.gz /var/www/tftp/
# Запуск затрагиваемых бэкапом сервисов
systemctl start apache2 postgresql salt-minion salt-minion-standalone

Резервное копирование подсистемы репозиториев ПО#

Для выполнения резервного копирования подсистемы репозиториев ПО необходимо перейти на рабочую станцию, которая выполняет функцию сервера репозиториев ПО по сети и выполнить скрипт:

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов
systemctl stop apache2 postgresql rabbitmq-server salt-minion salt-minion-standalone
# Архивирование БД PostgreSQL
tar -zcvf $BACKUP_PATH/postgresql.tar.gz /var/lib/postgresql/
# Архивирование данных брокера очередей RabbitMQ
tar -zcvf $BACKUP_PATH/rabbitmq.tar.gz /var/lib/rabbitmq/mnesia/
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование директории repo/storage
tar -zcvf $BACKUP_PATH/storage.tar.gz /opt/rbta/aldpro/repo/storage/
# Запуск бэкапируемых сервисов
systemctl start apache2 postgresql rabbitmq-server salt-minion salt-minion-standalone

Резервное копирование подсистемы общего доступа#

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

#!/usr/bin/env bash
# Название директории для резервной копии формируется из текущей даты и находится в папке /tmp/backup
now=$(date +"%d-%m-%Y")
BACKUP_PATH=/tmp/backup/$now
# Создание временной директории для резервных копий
mkdir -p $BACKUP_PATH
# Остановка затрагиваемых бэкапом сервисов systemctl stop salt-minion salt-minion-standalone
# Архивирование логов
tar -zcvf $BACKUP_PATH/log.tar.gz --exclude=faillog --exclude=lastlog /var/log/
# Архивирование директории etc
tar -zcvf $BACKUP_PATH/etc.tar.gz /etc/
# Архивирование директории ipa-client
tar -zcvf $BACKUP_PATH/ipa-client.tar.gz /var/lib/ipa-client/
# Архивирование директории /opt/samba_shares/
tar -zcvf $BACKUP_PATH/samba.tar.gz /opt/samba_shares/
# Запуск затрагиваемых бэкапом сервисов
systemctl start salt-minion salt-minion-standalone