Хотите быть уверенными в том, что ваши информационные данные не исчезнут бесследно в случае системного сбоя? Тогда вам пригодится этот ролик!
Описание для Linux:
- Открываем в корневой каталог PostgreSQL файл pg_hba.conf. по умолчанию для версии скачанной с release1C.ru это /etc/postgresql/12/main/pg_hba.conf
- Находим строку: local all postgres peer И меняем peer на trust, что бы получилось local all postgres trust
- Перезапускаем службу, что бы принять изменения. systemctl restart postgresql
- Теперь создаём скрипт с разрешением .sh и пишем туда следующий код: #!/bin/sh DATA=`date +"%Y-%m-%d"` database=Mondi_erp_ps_6 pg_dump -U postgres -d $database | gzip /backup/$DATA-$database.dump.gz /usr/bin/find /backup -type f -mtime +60 -exec rm -rf {} \;
- Сохраняем полученный скрипт, с расширением .sh, и разрешаем его запуск в качестве программы. Теперь вы можете запустить его и выполнить резервное копирование.
Настройка автоматического выполнения: crontab -e
И создаём задание следующем образом:
- Указываем минуту, час, день, месяц, и неделю выполнения
- Также указываем пользователя от имени которого должно выполняться задание, и путь до скрипта. [минута][час][день][месяц][неделя][пользователь][команда]
То есть, если мы хотим, чтобы наш скрипт выполнялся в 21 час 30 минут, каждый день, из-под пользователя root мы должны это указать следующим образом:
30 21 * * * root /home/aleksey/Documents/backup2.sh Сохраняем изменения, если сron не ругается, на проблемы с синтаксисом, значит мы сделали все правильно.
Восcтановление резервной копии
- Для восстановления бекапа, необходимо создать чистую базу и восстановить бекап в нее, иначе могут возникнуть ошибки - psql -U postgres test_base2 /backup/2021-09-04-test_base.dump
- После этого создаём новую базу на кластере 1С, и получаем работающий архив.
Если вам надо было восстановить бекап в рабочую базу, то просто удаляем текущую базу, и добавляем новую с таким же именем.
Описание для Windows:
Создаем файл с расширением cmd, и содержимым - CHCP 1251 SET PGBIN=D:\Program Files\PostgreSQL\12.5-3.1C\bin SET PGHOST=localhost SET PGPORT=5432 SET PGUSER=postgres SET PGPASSWORD=QWaszx12 SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% SET PGDATABASE=Test CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=C:\1c_backup\back\%PGDATABASE%_%DATETIME%.dump forfiles /p C:\1c_backup\ /m *.backup /s /d -29 /c "cmd /c del @path /q"
Сохраняем скрипт и добавляем его в планировщик заданий.
Для восстановления резервной копии, мы так же должны создать чистую базу, и восстановить бекап в неё.
Для этого опять указываем параметры сервера postgresql - CHCP 1251 SET PGBIN=D:\Program Files\PostgreSQL\12.5-3.1C\bin SET PGHOST=localhost SET PGPORT=5432 SET PGUSER=postgres SET PGPASSWORD=QWaszx12 CALL "%PGBIN%\pg_restore -d Buh C:\1c_backup\Buh.dump
Теперь также, как на Linux, создаём новую базу на кластере 1С, и получаем работающий архив.
Если вам надо было восстановить бекап в рабочую базу, то просто удаляем текущую базу, и добавляем новую с таким же именем.
Если у вас остались вопросы, звоните нам: 8 (8142) 67-21-20
Таймкоды:
00:00 Настройка резервного копирования в PostgreSQL
00:38 Зачем нужно резервное копирование
01:05 Настройка резервного копирования на Линукс
05:30 Настройка резервного копирования на Windows
Предлагаем Вам посмотреть ролики: