Содержание
Резервное копирование
1) Резервное копирование нужно выполнить для директории и БД PostgreSQL
/opt/r7-office /etc/supervisor /etc/r7-office /var/r7-office /var/www/r7-office
2) Установите утилиту сжатия lbzip2:
sudo apt install lbzip2
Для Astra linux выполните следующие команды:
sudo wget -c http://archive.ubuntu.com/ubuntu/pool/universe/l/lbzip2/lbzip2_2.5-2_amd64.deb sudo apt-get install ./lbzip2_2.5-2_amd64.deb
3) Запустите скрипт backup_r7disk.sh:
#!/bin/bash # Директория, где будет создан бекап backup_dir=/backup # Директория на сервере хранения бекапа backup_server_dir=/backup/corpportal # ip сервера бекапа backup_server_ip=172.16.10.10 # Количество потоков для lbzip2, равное числу ядер делённых на 2 num_cores=$(($(nproc)/2)) # Дата бекапа backup_date=$(date +'%Y-%m-%d') # Создание директории mkdir $backup_dir # Удаление старых бекапов #rm -f $backup_dir/cddisk-*.tar.bz2 # время начала бекапирования start_time=$(date +'%Y-%m-%d %H:%M:%S') echo "Начало резервного копирования: $start_time" >> $backup_dir/time_log pg_dump -h localhost -U cddisk -d cddisk -F c -c -f "$backup_dir/cddisk_db.tar.gz" tar cf "$backup_dir/cddisk-${backup_date}.tar.bz2" --selinux --use-compress-prog="lbzip2 -k -n$num_cores" /opt/r7-office /etc/supervisor /etc/r7-office /var/r7-office /var/www/r7-office "$backup_dir/cddisk_db.tar.gz" # Время завершения бекапирования end_time=$(date +'%Y-%m-%d %H:%M:%S') echo "Завершение резервного копирования: $end_time" >> $backup_dir/time_log # Время в секундах работы бекапирования start_timestamp=$(date -d "$start_time" +%s) end_timestamp=$(date -d "$end_time" +%s) total_duration=$((end_timestamp - start_timestamp)) echo "Общее время выполнения: $total_duration секунд" >> $backup_dir/time_log # Удаление дампа rm -f "$backup_dir/cddisk_db.tar.gz" # Перенос бекапа на сервер хранения #scp $backup_dir/cddisk-${backup_date}.tar.bz2 root@$backup_server_ip:$backup_server_dir/ # Удаление бекапа после переноса #rm -f "$backup_dir/cddisk-${backup_date}.tar.bz2" echo "Резервное копирование завершено"
Восстановление Корпоративный сервер 2024
1) Установите утилиту сжатия lbzip2 (если новый сервер):
sudo apt install lbzip2
Для Astra linux выполните следующие команды:
sudo wget -c http://archive.ubuntu.com/ubuntu/pool/universe/l/lbzip2/lbzip2_2.5-2_amd64.deb sudo apt-get install ./lbzip2_2.5-2_amd64.deb
2) Запустите скрипт recovery_r7disk.sh
#!/bin/bash # Просим пользователя ввести полный путь к архиву с бэкапом Корпоративный сервер 2024 read -p "Введите полный путь к архиву с бэкапом Корпоративный сервер 2024 в системе: " archive_path # Количество потоков для pg_restore, равное числу ядер, умноженных на 2 num_cores_db=($(nproc)*2) # Количество потоков для lbzip2, равное числу ядер num_cores=$(nproc) # Проверка существование архива if [ ! -f "$archive_path" ]; then echo "Указанный файл не существует" exit 1 fi backup_file=$(basename "$archive_path") # Восстановление файлов tar xf "$archive_path" --selinux -C / --use-compress-prog="lbzip2 -k -n$num_cores" # Получаем путь дампа БД db_dump_file=$(find / -path /proc -prune -o -name cddisk_db.tar.gz -print) # Проверяем на существование дампа if [ -e "$db_dump_file" ]; then # Восстановление из дампа pg_restore -v -h localhost -U cddisk -d cddisk -c -j "$num_cores_db" -F c "$db_dump_file" # Удаляем файл дампа rm -f "$db_dump_file" fi # Обновляем права на каталоги chown -R cddisk:cddisk /opt/r7-office/Api chown -R cddisk:cddisk /opt/r7-office/Processing chown -R cddisk:cddisk /opt/r7-office/FileStorage chown -R cddisk:cddisk /opt/r7-office/installtools chown -R cddisk:cddisk /var/r7-office chown -R ds:ds /var/www/r7-office/documentserver # Перезапускаем службы systemctl restart supervisor.service systemctl restart nginx # Перезапускаем сервисы Корпоративного сервера 2024 sleep 5 supervisorctl restart all echo "Восстановление завершено"
Была ли полезна статья?