Bash скрипт для бэкапа базы 1С в PostgreSQL на Linux

Bash скрипт для бэкапа базы 1С в PostgreSQL на Linux

Для создания резервной копии базы 1С в PostgreSQL удобно использовать скрипты (bash)

Один из таких вы можете скачать бесплатно  (ссылка на него будет в конце статьи).

Если предположить что скрипт будут использовать, возможно, новички, тогда есть смысл и описать процедуру копирования его на Ubuntu server 22.04 с последующим там запуском и копированием бэкапа обратно на Windows.

Windows на личном ПК пользователя и серверная ось на Linux довольно распространённая практика. Поэтому ее в статье мы и возьмем за основу.

02-05-2023 15-15-17

 

Для создания скрипта бэкапа базы в PostgreSQL можно использовать утилиту pg_dump, которая позволяет выгрузить содержимое базы данных в файл.

И так сперва рассмотрим сам скрипт для бэкапа базы 1С Предприятия:

 

#!/bin/bash
# Настройки базы данных
DB_NAME=bux_3_0
DB_HOST=192.168.1.35
DB_PORT=5432
DB_USER=postgres
DB_PASS=postgres

# Настройки бэкапа
BACKUP_DIR=/tmp
DATE=$(date +%Y%m%d-%H%M%S)
BACKUP_FILE=$BACKUP_DIR/$DB_NAME-$DATE.dump

# Создание директории для бэкапа, если она не существует
if [ ! -d $BACKUP_DIR ]; then
  mkdir -p $BACKUP_DIR
fi

# Создание бэкапа базы данных
pg_dump --format=custom --dbname=postgresql://$DB_USER:$DB_PASS@$DB_HOST:$DB_PORT/$DB_NAME --file=$BACKUP_FILE

# Удаление старых бэкапов (оставляем только последние 7 дней)
find $BACKUP_DIR -name "$DB_NAME-*.dump" -mtime +7 -delete

 

В данном скрипте мы задаем параметры подключения к базе 1С  (имя, хост, порт, имя пользователя, пароль) и настройки для бэкапа (директория, куда сохранять бэкапы, имя файла и т.д.).

Далее, мы проверяем, существует ли директория для бэкапов, и если ее нет, то создаем новую. Затем вызываем команду pg_dump с параметрами для создания бэкапа в формате custom (бинарный формат, позволяющий восстанавливать базу данных быстрее, чем текстовый формат).

В конце скрипта удаляем старые бэкапы, которые были созданы более 7 дней назад (чтобы не заполнять директорию бесконтрольно).

Скрипт можно запускать вручную или автоматически через CRON, например, ежедневно в определенное время.

Доступно после бесплатной регистрации
И так скачиваем скрипт по этой ссылке >>>   Вам остаётся только подставить свои значения: IP, база, пользователь, путь к каталогу, где создать бэкап. Сам bash уже в Unix формате, так что Вам осталось лишь его скопировать в нужный каталог на удаленный сервер, где потом мы его и будем запускать. Для примера, мы используем временный каталог на Lin

Восстановить базу из этого бэкапа, вы можете также просто и быстро вот этим скриптом >>>

 

Больше о том как администрировать 1С на Linux + PostgreSQL можно узнать здесь >>>

 

4 комментария к “Bash скрипт для бэкапа базы 1С в PostgreSQL на Linux”

Оставьте комментарий

База знаний 1С