Создание резервной копии с использованием командного файла
Материал из ЭЛЕСТА
Версия от 10:15, 8 июня 2017; Николай Н. Шерстнев (обсуждение | вклад)
СТРАНИЦА СОЗДАЕТСЯ, ИНФОРМАЦИЯ НЕ АКТУАЛЬНАЯ
1. Создайте командный файл
1.1. Создайте и откройте текстовый документ. В меню файл выберите Сохранить как
1.2 В диалоговом окне Сохранить как укажите имя файла и расширение bat (Например start_backup.bat). Нажмите Сохранить
1.3 В результате получится командный файл с расширением bat
2. Откройте файл для редактирования
3. Добавьте в командный файл следующий текст:
REM Пример создание резервной копии базы данных POSTGRESQL CLS ECHO OFF CHCP 1251 REM Установка переменных окружения SET PGBIN=C:\PostgreSQL\9.6\bin SET PGDATABASE=jupiter SET PGHOST=localhost SET PGPORT=5432 SET PGUSER=postgres SET PGPASSWORD=postgres REM Смена диска и переход в папку из которой запущен bat-файл %~d0 CD %~dp0 REM Формирование имени файла резервной копии и файла-отчета SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% %TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2% SET DUMPFILE=%PGDATABASE% %DATETIME%.backup SET LOGFILE=%PGDATABASE% %DATETIME%.log SET DUMPPATH="Backup\%DUMPFILE%" SET LOGPATH="Backup\%LOGFILE%" REM Создание резервной копии IF NOT EXIST Backup MD Backup CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH% REM Анализ кода завершения IF NOT %ERRORLEVEL%==0 GOTO Error GOTO Successfull REM В случае ошибки удаляется поврежденная резервная копия и делается соответствующая запись в журнале :Error DEL %DUMPPATH% MSG * "Ошибка при создании резервной копии базы данных. Смотрите backup.log." ECHO %DATETIME% Ошибки при создании резервной копии базы данных %DUMPFILE%. Смотрите отчет %LOGFILE%. >> backup.log GOTO End REM В случае удачного резервного копирования просто делается запись в журнал :Successfull ECHO %DATETIME% Успешное создание резервной копии %DUMPFILE% >> backup.log GOTO End :End
4. Сохраните файл
Таким образом командный файл создан и после его исполнения, будет выполнятся резервная копия схемы данных, в указанную папку