Создание резервной копии с использованием командного файла — различия между версиями
Строка 7: | Строка 7: | ||
1.1. Создайте и откройте текстовый документ. В меню файл выберите '''Сохранить как''' | 1.1. Создайте и откройте текстовый документ. В меню файл выберите '''Сохранить как''' | ||
− | [[Изображение: | + | [[Изображение:1301.PNG|800px|border|]] |
1.2 В диалоговом окне Сохранить как укажите '''имя файла''' и расширение '''bat''' (Например '''start_backup.bat'''). Нажмите '''Сохранить''' | 1.2 В диалоговом окне Сохранить как укажите '''имя файла''' и расширение '''bat''' (Например '''start_backup.bat'''). Нажмите '''Сохранить''' | ||
− | [[Изображение: | + | [[Изображение:1302.PNG|800px|border|]] |
1.3 В результате получится командный файл с расширением '''bat''' | 1.3 В результате получится командный файл с расширением '''bat''' | ||
− | [[Изображение: | + | [[Изображение:1303.PNG|800px|border|]] |
2 Откройте файл для редактирования | 2 Откройте файл для редактирования | ||
− | [[Изображение: | + | [[Изображение:1304.PNG|800px|border|]] |
3 Добавьте в командный файл следующий текст: | 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 | ||
2.4 Сохраните файл. Таким образом командный файл создан и после его исполнения, будет | 2.4 Сохраните файл. Таким образом командный файл создан и после его исполнения, будет |
Версия 10:11, 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
2.4 Сохраните файл. Таким образом командный файл создан и после его исполнения, будет выполнятся резервная копия схемы данных, в указанный выходной файл.
2.5 Для сохранения каждой копии резерва в отдельный файл, возможно следующая реализация.
2.5.1 Создайте командный файл
2.5.2 Откройте файл для редактирования
2.5.3 Добавьте в командный файл следующий текст.
RAR.exe –запуск программы архивации RAR. a – команда для программы RAR, о добавлении в архив файлов. -ag – ключ для программы RAR, о добавлении в имя создаваемого архива, дату и время. С:\BUCKUP\mgs.rar - имя создаваемого архива. MGS.backup – имя файла, подлежащего архивации. Здесь также можно указать полный путь к папке. При необходимости вы можете изменять параметры выполнения программы RAR.exe (Список ключей находится в приложении №2).
2.5.4 Выложите в каталог с командным файлом программу RAR.exe.
2.5.5 В результате получится архивный файл. В котором хранится вся база данных