rem mv_fb_restore.bat
@echo off
SETLOCAL
rem version 4 (07.03.2012)
rem Порт службы Firebird 1.5:
set PORT_FB15=3050
rem Порт службы Firebird 2.1:
set PORT_FB21=3021
rem Порт службы Firebird 2.5:
set PORT_FB25=3025
set applog=mv_fb_restore.log
rem Раскладываем дату на составные (ден, месяц, год):
set daDD=%DATE:~0,2%
set daMM=%DATE:~3,2%
set daYYYY=%DATE:~-4%
rem В переменной времени заменяем пробел (который ставиться для числа часов с одним знаком) нулём:
set datime=%time: =0%
rem Раскладываем время на составные (часы, минуты, секунды):
set daho=%datime:~0,2%
set dami=%datime:~3,2%
set dass=%datime:~6,2%
rem Складываем разложенные составные в необходимой форме:
set daDATE=%daYYYY%%daMM%%daDD%_%daho%%dami%%dass%
rem Защита от некорректного запуска:
if %1s==s goto daErrSyntax
if NOT EXIST %1 goto daErrFileExist
prompt run:
set daFile=%1
set daFile=%daFile:~,-4%
rem Службы Firebird должны быть запущены на разных портах (в данном примере, это службы 3050, 3021, 3025)
title RESTORE is running
rem ####### RESTORE FB 1.5
set gbaklog=LOG-RESTORE_FB15_%daDATE%.log
echo %DATE% %TIME% - Firebird 1.5 base restore started with source file %1>>%applog%
c:\Firebird_1_5\bin\gbak.exe -user SYSDBA -password masterkey -R -c -V -P 4096 -Y %gbaklog% %1 localhost/%PORT_FB15%:%CD%\R_%daFile%_FB15.fdb
echo %DATE% %TIME% - Firebird 1.5 base restore complete (status %errorlevel%)>>%applog%
rem АНАЛИЗ ЛОГА
echo %DATE% %TIME% - log_analize start>>%applog%
FOR /F "skip=1 tokens=1 delims=zzz" %%a in (%gbaklog%) do (IF "%%a"=="gbak: finishing, closing, and going home" (goto end) ELSE (IF "%%a"=="gbak: ERROR: Expected backup version 1, 2, or 3. Found 8" (goto fb21_blk) ELSE (IF "%%a"=="gbak: ERROR: Expected backup version 1, 2, or 3. Found 9" (goto fb25_blk))))
:fb21_blk
set gbaklog=LOG-RESTORE_FB21_%daDATE%.log
echo %DATE% %TIME% - Firebird 2.1 base restore started with source file %1>>%applog%
c:\Firebird_2_1\bin\gbak.exe -user SYSDBA -password masterkey -R -c -V -P 4096 -Y %gbaklog% %1 localhost/%PORT_FB21%:%CD%\R_%daFile%_FB21.fdb
echo %DATE% %TIME% - Firebird 2.1 base restore complete>>%applog%
goto end
:fb25_blk
set gbaklog=LOG-RESTORE_FB25_%daDATE%.log
echo %DATE% %TIME% - Firebird 2.5 base restore started with source file %1>>%applog%
c:\Firebird_2_5\bin\gbak.exe -user SYSDBA -password masterkey -R -c -V -P 4096 -Y %gbaklog% %1 localhost/%PORT_FB25%:%CD%\R_%daFile%_FB25.fdb
echo %DATE% %TIME% - Firebird 2.5 base restore complete>>%applog%
goto end
:daErrSyntax
echo Не указан backup-файл.
echo Запускать нужно так:
echo mv_fb_restore.bat ПолноеИмяБэкапа
goto exit
:daErrFileExist
echo Файл %1 не найден. Проверьте правильность написания имени файла.
goto exit
:end
title RESTORE is complete
start notepad %applog%
start notepad %gbaklog%
:exit
endlocal
pause
Подписаться на:
Комментарии к сообщению (Atom)
Архив
-
►
2019
(44)
- декабря (2)
- октября (6)
- сентября (9)
- августа (1)
- июля (1)
- июня (2)
- мая (2)
- апреля (2)
- марта (2)
- февраля (9)
- января (8)
-
►
2018
(54)
- декабря (4)
- ноября (3)
- октября (6)
- сентября (4)
- августа (2)
- июля (2)
- мая (3)
- апреля (4)
- марта (11)
- февраля (6)
- января (9)
-
►
2017
(55)
- декабря (4)
- ноября (14)
- октября (1)
- сентября (3)
- августа (10)
- июля (2)
- июня (5)
- мая (2)
- апреля (3)
- марта (4)
- февраля (4)
- января (3)
-
►
2016
(111)
- декабря (12)
- ноября (4)
- октября (14)
- сентября (7)
- августа (7)
- июля (14)
- июня (12)
- мая (8)
- апреля (5)
- марта (16)
- февраля (10)
- января (2)
-
►
2015
(96)
- декабря (2)
- ноября (4)
- октября (3)
- сентября (6)
- августа (2)
- июля (2)
- июня (2)
- мая (11)
- апреля (14)
- марта (24)
- февраля (21)
- января (5)
-
►
2014
(72)
- декабря (18)
- ноября (16)
- октября (2)
- сентября (7)
- августа (4)
- июля (1)
- июня (4)
- мая (5)
- апреля (3)
- марта (3)
- февраля (6)
- января (3)
-
►
2013
(33)
- декабря (3)
- ноября (2)
- октября (3)
- сентября (2)
- августа (1)
- июля (1)
- июня (2)
- мая (5)
- апреля (2)
- марта (2)
- февраля (1)
- января (9)
-
▼
2012
(181)
- ноября (6)
- октября (11)
- сентября (6)
- августа (5)
- июля (6)
- июня (25)
- мая (24)
- апреля (14)
- марта (20)
- февраля (38)
- января (26)
Комментариев нет:
Отправить комментарий