Настройка резервного копирования postress для Windows server
На сервере была установлена сервера версия 1с с базой от майкрософта, всё было хорошо , но через полгода начались проблемы,
Как показал опыт - бесплатное решение баз данных от майкрософт (microsoft sql express) не может работать с базами объемом более чем 4 ГБ.
В результате 1с работает, но при выгрузке сообщает:
c++ runtime error abnormal program termination
press ok to close.
Попытка сделать резервную копию через встроенную процедуру в sql тоже заканчивалась неудачей, поэтому было принято решение переходить на postgres для windows.
Ну и соответсвенно надо организовать резервное копирование.
Делается это достаточно просто
создаём bat файл со следующим содержимым
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
@echo off for /f "tokens=1-4 delims=/ " %%i in ("%DATE%") do ( set dow=%%i set month=%%j set day=%%k set year=%%l ) set datestr=%month%_%day%_%year% set datestr=%date% echo datestr is %datestr% set BACKUP_FILE=|FNAME|_%datestr%.pgsql echo backup file name is %BACKUP_FILE% SET PGPASSWORD=|PASSWORD| echo on cd |BACKDIR| "C:\Program Files\PostgreSQL\9.1.2-1.1C\data\bin\pg_dump.exe" -i -h localhost -p 5432 -U postgres -F c -b -v -f %BACKUP_FILE% |BASENAME| |
Где
|BACKDIR| - папка для сохранения резервных копий
|PASSWORD| - пароль на пользователя постгрес
|BASENAME| - имя базы для бекапа
|FNAME| - имя файла бекапа.
Если необходимо сделать копии нескольких баз то просто дублируем соднржимое.
Затем идём в Пуск-панель управления-назначенные задания - (пуск - панельуправления-администрирование - планировщик заданий для win2008+) ]
Создаём задание - запускать по рабочим дням - в 23.00 сохраняем вводим пароль администратора , в назначенное время проверяем.