Bash скрипт для бэкапа базы 1С в PostgreSQL на Linux
Для создания резервной копии базы 1С в PostgreSQL удобно использовать скрипты (bash)
Один из таких вы можете скачать бесплатно (ссылка на него будет в конце статьи).
Если предположить что скрипт будут использовать, возможно, новички, тогда есть смысл и описать процедуру копирования его на Ubuntu server 22.04 с последующим там запуском и копированием бэкапа обратно на Windows.
Windows на личном ПК пользователя и серверная ось на Linux довольно распространённая практика. Поэтому ее в статье мы и возьмем за основу.
Для создания скрипта бэкапа базы в PostgreSQL можно использовать утилиту pg_dump, которая позволяет выгрузить содержимое базы данных в файл.
И так сперва рассмотрим сам скрипт для бэкапа базы 1С Предприятия:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/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, например, ежедневно в определенное время.
Зарегистрируйтесь, чтоб продолжить чтение статьи
Зарегистрироваться / Войти
Восстановить базу из этого бэкапа, вы можете также просто и быстро вот этим скриптом >>>
Больше о том как администрировать 1С на Linux + PostgreSQL можно узнать здесь >>>