Тогда вам пригодится этот ролик!
В нём специалист компании «Неосистемы Северо-Запад ЛТД» расскажет про настройку резервного копирования в PostgreSQL в операционных системах Линукс и Windows.
Описание для Linux:
1) Открываем в корневой каталог PostgreSQL файл pg_hba.conf. по умолчанию для версии скачанной с release1C.ru это /etc/postgresql/12/main/pg_hba.conf
2) Находим строку: local all postgres peer И меняем peer на trust, что бы получилось local all postgres trust
3) Перезапускаем службу, что бы принять изменения. systemctl restart postgresql
4) Теперь создаём скрипт с разрешением .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 {} \;
5) Сохраняем полученный скрипт, с расширением .sh, и разрешаем его запуск в качестве программы. Теперь вы можете запустить его и выполнить резервное копирование.
Настройка автоматического выполнения: crontab -e И создаём задание следующем образом.
Указываем минуту, час, день, месяц, и неделю выполнения.
Также указываем пользователя от имени которого должно выполняться задание, и путь до скрипта. [минута][час][день][месяц][неделя][пользователь][команда]
То есть, если мы хотим, чтобы наш скрипт выполнялся в 21 час 30 минут, каждый день, из-под пользователя root мы должны это указать следующим образом.
30 21 * * * root /home/aleksey/Documents/backup2.sh Сохраняем изменения, если сron не ругается, на проблемы с синтаксисом, значит мы сделали все правильно.
Восcтановления Резервной копии.
1) Для восстановления бекапа, необходимо создать чистую базу и восстановить бекап в нее, иначе могут возникнуть ошибки.
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С, и получаем работающий архив.
Если вам надо было восстановить бекап в рабочую базу, то просто удаляем текущую базу, и добавляем новую с таким же именем.
Смотрите предыдущие ролики из этой серии:
- Установка PostgreSQL на Linux;
- Настройка PostgreSQL для работы с 1С.
Приобрести Windows 10 можно тут.
Приобрести Astra Linux можно здесь.
Хотите получать первыми информацию об интересных решениях для бизнеса? На практических примерах учиться решать сложные рабочие задачи? Тогда подписывайтесь на наш канал, ставьте лайки, добавляйте видео в «Избранное».
Если у вас остались вопросы, звоните нам: 8 (8142) 67-21-20
Тайм-коды:
00:00 Распаковочка. Настройка резервного копирования в PostgreSQL
00:38 Зачем нужно резервное копирование
01:05 Настройка резервного копирования на Линукс
05:30 Настройка резервного копирования на Windows