
以äžã®è³æã¯ãããã¯ã¢ããã·ã¹ãã ãäœæããããšã®éèŠæ§ãèªèããŠããããç¬èªã®ã¹ã¯ãªãããŸãã¯ãŠãŒãã£ãªãã£ããŸã éçºããŠããªãããŒã¿ããŒã¹ç®¡çè
ãå§ããã®ã«åœ¹ç«ã¡ãŸãã 以äžã§ã¯ãFirebirdããŒã¿ããŒã¹ããã®ããã¯ã¢ããã®åé€ãèªååããããã«çµç¹ã§äœ¿çšãããã³ãã³ãbatãã¡ã€ã«ã®åœ¢åŒã§ã¹ã¯ãªãããæäŸãããã®äž»èŠãªæçãåæããŠäœ¿çšäŸã瀺ããŸãã InterbaseãŸãã¯YaffilããŒã¿ããŒã¹ã«ãé©ããŠããŸãããããã¯ã¢ãããŠãŒãã£ãªãã£ã®åŒã³åºããæå°éã«å€æŽããã ãã§ãã»ãŒãã¹ãŠã®DBMSã«é©å¿ã§ãããšæããŸãã
ãŸãæåã«ãåé¡ã®çè«ã«æ
£ããããšãã§ããããã€ãã®ãªã³ã¯ã瀺ããŸãã
firebirdsql.orgïŒFirebirdã®gbakããã¯ã¢ããããã³åŸ©å
ããŒã«ibase.ruïŒGBAKãFirebirdãããã³InterBaseãŠãŒãã£ãªãã£çšèªã«ã€ããŠå°ãïŒ
- ããã¯ã¢ãã ïŒ b ïŒ-ããŒã¿ããŒã¹ããããã¯ã¢ãããåé€ããããã»ã¹ã åºåã«ã¯ãããŒã¿ããŒã¹ã§ã¯ãªããæ°ããããŒã¿ããŒã¹ã«å±éã§ããç¹å¥ãªåœ¢åŒã®ãã¡ã€ã«ããããŸãã éåžžãã€ã³ããã¯ã¹ããŒãžã®äžè¶³ãããŒã¿ããŒãžã®ã¹ããŒã¹äºçŽã®äœ¿çšãããžã£ã³ã¯ãã¬ã³ãŒãã®äžåšãããã³å§çž®ã«é¢ä¿ãããã®ä»ã®èŠå ã«ãããå
ã®ããŒã¿ããŒã¹ãã¡ã€ã«ãããã¯ããã«è»œéã§ãã
- 埩å
ããŸãã¯åŸ©å
ïŒ r ïŒ-ããã¯ã¢ãããã¡ã€ã«ããæ°ããããŒã¿ããŒã¹ãäœæããããã»ã¹ã çµæã®ããŒã¿ããŒã¹ã¯ãããã¯ã¢ããéå§æã®å
ã®ããŒã¿ããŒã¹ãšåçã«ãªããŸãã å埩段éã§ãããŒã¿ããŒã¹ã®ææè
ãå€æŽããããããŒã¿ããŒã¹ã®ããŒãžãµã€ãºãå€æŽããããæ°ãããã£ãã·ã¥ãµã€ãºãèšå®ãããã§ããŸãã ã¹ã¯ãªããã§ã¯ã埩å
è
ããµããŒãã®åœ¹å²ãæããããšããããããŸã-ããã¯ã¢ãããã¡ã€ã«ãæ£ããåä¿¡ãããããŒã¿ããŒã¹ã®åŸ©å
ã«é©ããŠããããšã確èªããŸãã
- b / r-äžé£ã®ããã¯ã¢ããããã³ãªã«ããªããã»ã¹ããã®çµæããã©ã³ã¶ã¯ã·ã§ã³ã«ãŠã³ãããªã»ããããããã£ã¹ã¯ã¹ããŒã¹ãæå°éã«æãããæŽé ãããæ°ããããŒã¿ããŒã¹ãåŸãããŸãã 誰ãç¥ããªãã£ãå ŽåïŒFirebird / InterBaseããŒã¿ããŒã¹ã¯ãµã€ãºã倧ããããããšããã§ããŸãããããã¡ã€ã«ã·ã¹ãã ã«ãäœåãªãããŒãžãè¿ãããšã¯ãããŸããã ãããã£ãŠãb / rãããŒã¿ããŒã¹ã®ãéã¿ã倱ããå¯äžã®æ¹æ³ã§ãã ãŸããb / rã¯ããµãŒããŒéã§ããŒã¿ããŒã¹ã転éããå Žåãç¹ã«ç°ãªãOSãç¹ã«ç°ãªãéã®ã¢ãŒããã¯ãã£ã«é¢ããŠã¯ãéåžžã«æãŸãããªãã·ã§ã³ã§ãã
ãããã£ãŠãå¿
èŠãªããŒã䜿çšããŠgbak.exeãå®è¡ããã ãã§ãªããåé¡ã«å
æ¬çã«åãçµãå ŽåãããŒã¿ããŒã¹ã®ããã¯ã¢ããããã»ã¹ãæ§æããã¢ã¯ãã£ããã£ã¯äœã§ããïŒ æ¬¡ã®äž»ãªãã®ãéžã³ãŸãã
- å®å
ãã£ã¬ã¯ããªãååšããããšã確èªããå¿
èŠã«å¿ããŠäœæããŸãïŒåºåãã¡ã€ã«ããŸã ååšããªããã£ã¬ã¯ããªã«é
眮ããå¿
èŠãããããšãå€æããå Žåããã¹ãŠã®ãŠãŒãã£ãªãã£ããã£ã¬ã¯ããªæ§é ãäœæããããã§ã¯ãããŸããïŒã
- ãµãŒããŒã®ããã±ãŒãžããæšæºã®ãŠãŒãã£ãªãã£ããŒã«ã䜿çšããŠãããŒã¿ããŒã¹ããããã¯ã¢ãããåé€ããŸãã
- ããã¯ã¢ããã®ãªãã·ã§ã³ã®ãã¹ã埩å
ïŒãŸãããµãŒããŒãããã¯ã¢ãããã¡ã€ã«ãäœæããããã¡ã¿ããŒã¿ã®ãšã©ãŒã®ããã«æ°ããããŒã¿ããŒã¹ã«åŸ©å
ã§ããªãã£ãå ŽåããããŸãïŒã
- ã¢ãŒã«ã€ãã«ãããªãã·ã§ã³ã®ããã¯ã¢ãããã¡ã€ã«å§çž®ã
- ãã¡ã€ã«ã®æ°ããã³/ãŸãã¯ããããå æããã¹ããŒã¹ã«ããä¿åãããããã¯ã¢ããã®ãªãã·ã§ã³ã®å¶åŸ¡ã
- é»åã¡ãŒã«ãNET SENDãã©ã³ã¹ããŒãããŸãã¯ãã®ä»ã®æ段ã«ãããåã®æé ã§çºçããããããçš®é¡ã®é害ã管çè
ã«éç¥ããŸãã 环ç©é害ãã°ãç¶æããããšããå§ãããŸãã
ãã¡ãããã¹ã¯ãªããã¯äžèšã®ãã¹ãŠãå®è¡ã§ããŸãããä»ã®äœããå®è¡ããããšãã§ããŸãã
- ããŒã«ã«ãŸãã¯ãªã¢ãŒãã®ä»»æã®ããŒã¿ããŒã¹ãæäœããŸãã å®å
šã«æå®ããããã¹ããŸãã¯ãšã€ãªã¢ã¹ã䜿çšããŠã éæšæºã䜿çšãããŠããå Žåããªãã·ã§ã³ã®ããŒã衚瀺ä»ãã
- ããŒã«ã«ããŒã¿ããŒã¹ã®å Žåã ããã¯ã¢ããã¯ãµãŒãã¹ãä»ããŠäœ¿çšããããããæäœæéã倧å¹
ã«ççž®ãããŸã ã ãã¹ããªã¹ãã¢ã¯åžžã«ããŒã«ã«ãã·ã³ã§å®è¡ããããµãŒãã¹ãéããŠå®è¡ãããŸãã
- ããã©ã«ãã§ã¯ããœãŒã¹ããŒã¿ããŒã¹ã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¯ããã¯ã¢ãã段éã§ç¡å¹ã«ãªã£ãŠããŸãïŒæå¹ã«ãããªãã·ã§ã³ããããŸãïŒãããã«ãããæäœæéãççž®ãããŸãã
- RARã¯ããã¯ã¢ããã¢ãŒã«ã€ããšããŠäœ¿çšãããå§çž®ã®åºŠåãïŒããã³æââäœã®é床ïŒã¯1ïŒäœå§çž®ãæé«é床ïŒãã5ïŒæé«ã®å§çž®ãé·æéïŒã«èšå®ãããŸãã å§çž®å€0ã¯ããã¢ãŒã«ã€ããããããã¯ã¢ãããã¡ã€ã«ãå€æŽããã«ä¿åãããããšãæå³ããŸãã raråŒã³åºããå¥ã®ã¢ãŒã«ã€ãïŒç¡æã®7zipãªã©ïŒã«ç°¡åã«çœ®ãæããããšãã§ããŸãã ããããç§ãã¡ã®ãã¹ãã§ã¯ãrarã¯äŸç¶ãšããŠèããé«éã§ãã
- æªå®çŸ©ã®æ°ã®ãã¡ã€ã«ïŒãããããã¹ã¯ãä»ããŠïŒãã¹ã¯ãªããã«è»¢éã§ããŸããã¹ã¯ãªããã¯æçµã¢ãŒã«ã€ãã«è¿œå ããå¿
èŠããããŸãã ãã®æ©äŒã«ãããŒã¿ããŒã¹ã®ããã¯ã¢ããããšã«ããã®ããŒã¿ããŒã¹ãæäŸããã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ã®å®è¡å¯èœãã¡ã€ã«ãååšããããã«ããŸãã 6ã12ãæåã«ã¢ãŒã«ã€ããäœæããå¿
èŠãããå Žåã«äŸ¿å©ãªã®ã¯ãããã«æã«å
¥ãã®ã¯ããã®ããŒãžã§ã³ã®ã¡ã¿ããŒã¿ã§æ©èœããå€ãããŒã¿ããŒã¹ã«é¢é£ããããã°ã©ã ã§ãã
- ããã¯ã¢ããä»ãã®ã¢ãŒã«ã€ãå
ã«b / rãã°ãè¿œå ãããªãã·ã§ã³ã®æ©èœããããŸãã ããããªãŒãã£ã³ã°ãäºåŸã®å Žåã
- ä¿åãããŠããããã¯ã¢ããã®æ°ã¯ãåå®çŸ©ãããŠããªãå Žåã30åã§ãã å®å
ãã©ã«ããŒã®æå®ãããã³ããŒæ°ã«éãããšãæãå€ãããã¯ã¢ãããåé€ãããæ°ããããã¯ã¢ããçšã®ã¹ããŒã¹ã解æŸãããŸãã ãã©ã¡ãŒã¿ãŒã®å€ã0ã«èšå®ãããšãããã¯ã¢ããæ°ã®å¶åŸ¡ããªãã«ã§ããŸãã
- ä¿åãããããã¯ã¢ããã®ããªã¥ãŒã ã¯ããã©ã«ãã§ã¯å¶åŸ¡ãããŸãããããã€ããKbãMbããŸãã¯GBã§æå®ã§ããŸãã
- ããã©ã«ãã§ã¯ãb / rã¯SYSDBAçµã¿èŸŒã¿ã¹ãŒããŒãŠãŒã¶ãŒã®ä»£ããã«å®è¡ãããŸãã ããŒã«ã«ãµãŒããŒã®SYSDBAãã¹ã¯ãŒãã¯ãœãŒã¹ã«ä¿åãããŸãã ãŸãããããã¯ãŒã¯çµç±ã§ããã¯ã¢ãããå®è¡ããã«ã¯ããªã¢ãŒããµãŒããŒã®SYSDBAãã¹ã¯ãŒããšãšãã«ãã©ã¡ãŒã¿ãŒãã¹ã¯ãªããã«æž¡ãããšãã§ããŸãã ç¹ã«ãããã€ãã®å ŽåãããŒã«ã«ãµãŒããŒã®SYSDBAãã¹ã¯ãŒãããœãŒã¹ããæ¶å»ããåŒã³åºããããšãã«ãã©ã¡ãŒã¿ãŒãšããŠæž¡ãããšãã§ããŸãã
- ã¡ãŒã©ãŒãšããŠãã·ã¹ãã 管çè
ã®éã§ããç¥ãããŠããBlatãŠãŒãã£ãªãã£ã䜿çšãããŸãã
- åºåãã¡ã€ã«ïŒå§çž®ãç¡å¹ã«ãªã£ãŠããå Žåãã¢ãŒã«ã€ããŸãã¯éåžžã®ããã¯ã¢ãããã¡ã€ã«ïŒã«ã¯ãäœæã®æ¥æã¹ã¿ã³ããå«ãŸããŠãããããã¯ã¢ãããã£ã¬ã¯ããªå
ãèŠèŠçã«ç§»åã§ããŸãã
ãšã³ããªãŒãé
ããŸããã ãã¿ãã¬ã®äžã§ãã¹ã¯ãªããã®å®å
šãªãœãŒã¹ã³ãŒããæäŸããŸãã
ãœãŒã¹fb_backup.bat@CLS @ECHO OFF ECHO #=============================================================================# ECHO # # ECHO # Firebird/InterBase database backup, test restore, zip and rotate script # ECHO # Ver 3.2.8 (26.01.2013) # ECHO # # ECHO # Author: arni (email:arnisoft at rambler dot ru) # ECHO # # ECHO # Format: # ECHO # FB_BACKUP [host[/port]:][path]db_file_or_alias result_dir # ECHO # [/count:backup_count] [/space:backup_space_limit] [/gc] # ECHO # [/restore] [/compress:level] [/password:SYSDBA_password] # ECHO # [other_files_to_compress [...]] # ECHO # # ECHO # Input params: # ECHO # [host[/port]:][path] : local or network, full-specified path or alias # ECHO # db_file_or_alias to the source database # ECHO # result_dir : result backup collecting directory # ECHO # /count:backup_count : backup file number to keep (30 by default) # ECHO # /space:backup_space_limit : total backup size in bytes (not use by default) # ECHO # you can use suffixes K, M or G. # ECHO # /gc : need to collect garbage in DB (OFF by default) # ECHO # /restore : need to do test restore (OFF by default) # ECHO # /compress:level : compress ratio for RAR (2 by default): # ECHO # 0: not compress, 1: fastest, 2: fast, # ECHO # 3: normal, 4: good, 5: best # ECHO # /password:SYSDBA_password : optional SYSDBA password for remote server # ECHO # (by default uses one from the source code) # ECHO # other_files_to_compress : list of files that must be add to archive # ECHO # # ECHO #=============================================================================# REM ==== Server ==================================================================== SET gbak="C:\Programs\FB25\bin\gbak.exe" SET ISC_USER=SYSDBA SET ISC_PASSWORD_LOCAL=masterkey SET ISC_PASSWORD_REMOTE= REM ==== Backup/restore preferences ================================================ SET temp_backup_dir=%TEMP% SET temp_restore_dir=%TEMP% SET backup_count=30 SET backup_space_limit=0 SET backup_ext=fbk SET garbage_collection=-g SET restore=0 REM ==== RAR ======================================================================= SET rar="C:\Program Files\WinRAR\rar.exe" SET rar_options=a -y -ep -idcd SET rar_password= SET rar_compress_ratio=2 REM ==== Mailer (see "Blat" at http://sourceforge.net/projects/blat) =============== SET blat="C:\Programs\Blat307\blat.exe" SET smtp_server=smtp.mailserver.ru SET mail_sender=foo@mailserver.ru SET mail_login=foo SET mail_password=1234 SET mail_receiver= SET mail_subject=Fail while database b/r REM ==== Other preferences ========================================================= SET include_logs_to_archive=1 SET net_send_receiver= SET error_log= REM ==== Define database location ================================================== SET full_db_specification=%~1 ECHO full_db_specification = %full_db_specification% REM Devide DB spec to network and local parts FOR /f "DELIMS=: TOKENS=1*" %%i IN ("%full_db_specification%") DO ( SET network=%%i SET local=%%j ) REM Test if spec. is alias with no network part IF "%local%" == "" ( SET network= SET local=%full_db_specification% ) REM Test if spec. is full specified file with no network part FOR /f "DELIMS=\ TOKENS=*" %%i IN ("%local%") DO IF "%local%" == "\%%i" ( SET network= SET local=%full_db_specification% ) ECHO network_specification = %network% IF "%network%" GTR "" ( REM Extract port from network spec (if exists) FOR /f "DELIMS=/ TOKENS=1*" %%i IN ("%network%") DO ( SET host=%%i SET port=%%j IF "%%j" GTR "" ( ECHO network_host = %%i ECHO network_port = %%j ) ) ) REM Test if DB is local or remote SET service_mgr_host=localhost SET is_local_db=1 IF "%network%" GTR "" IF "%host%" NEQ "127.0.0.1" IF /i "%host%" NEQ "localhost" SET is_local_db=0 IF %is_local_db% == 1 IF "%network%" GTR "" SET service_mgr_host=%network% ECHO local_db_specification = %local% IF "%local%" == "" ( SET fail=Param #1 {DB specification} missing! GOTO finish ) REM Extract file (or alias) from local part of spec. FOR /f %%i IN ("%local%") DO ( SET local_path=%%~dpi SET local_file_or_alias=%%~nxi ) IF "%local%" NEQ "%local_file_or_alias%" ( ECHO local_path = %local_path% REM Check DB file exists for local, not aliased specification IF %is_local_db% == 1 IF NOT EXIST "%local%" ( SET fail=Local DB file %local% not found! GOTO finish ) ) ECHO local_db_file_or_alias = %local_file_or_alias% REM ==== Define result directory =================================================== SET result_dir=%~2 ECHO result_dir = %result_dir% IF "%result_dir%" == "" ( SET fail=Param #2 {backup collecting directory} missing! GOTO finish ) REM Cut the result dir if it is in path-style (ends with separator) IF "%result_dir:~-1%" == "\" SET result_dir=%result_dir:~0,-1% REM Try to create the result directory if it is not exists yet IF NOT EXIST "%result_dir%" ( MD "%result_dir%" IF NOT EXIST "%result_dir%" ( SET fail=Cannot create backup collecting directory! GOTO finish ) ) REM Test if it is local or remote directory (elementary, may get wrong answer) SET is_local_result_dir=1 IF "%result_dir:~0,2%" == "\\" SET is_local_result_dir=0 REM ==== Use other command line options ============================================ :loop_options SHIFT SET next_param=%~2 IF "%next_param%" == "" GOTO print_options SET prefix=%next_param:~0,1% IF "%prefix%" == "/" SET next_param=%next_param:~1% IF "%prefix%" == "-" SET next_param=%next_param:~1% IF "%next_param%" GTR "" ( FOR /f "DELIMS=: TOKENS=1*" %%i IN ("%next_param%") DO ( SET value=%%j IF /i "%%i" == "count" IF "%%j" GTR "" GOTO count IF /i "%%i" == "space" IF "%%j" GTR "" GOTO space IF /i "%%i" == "gc" GOTO gc IF /i "%%i" == "restore" GOTO restore IF /i "%%i" == "compress" IF "%%j" GTR "" GOTO compress IF /i "%%i" == "password" IF "%%j" GTR "" GOTO password IF EXIST "%next_param%" GOTO add_file_to_compress IF "%prefix%" GTR "/" GOTO add_file_to_compress ECHO unknown param found: %next_param% GOTO loop_options ) ) ELSE ( ECHO empty param found! GOTO loop_options ) REM ==== Define file count in the result dir ======================================= :count SET /a backup_count=0+%value% GOTO loop_options REM ==== Define allowed backup space limit ========================================= :space SET suffix=%value:~-1% IF "%suffix%" GTR "9" ( SET value=%value:~0,-1% IF /i "%suffix%" == "K" ( SET file_size_shift=0 SET /a value*=1000 ) IF /i "%suffix%" == "M" ( SET file_size_shift=3 SET /a value*=1000 ) IF /i "%suffix%" == "G" ( SET file_size_shift=6 SET /a value*=1000 ) ) SET /a backup_space_limit=0+%value% GOTO loop_options REM ==== Define need of garbage collection ========================================= :gc SET garbage_collection= IF "%value%" == "0" SET garbage_collection=-g IF /i "%value%" == "N" SET garbage_collection=-g IF /i "%value%" == "NO" SET garbage_collection=-g IF /i "%value%" == "OFF" SET garbage_collection=-g GOTO loop_options REM ==== Define need of test restore =============================================== :restore SET restore=1 IF "%value%" == "0" SET restore=0 IF /i "%value%" == "N" SET restore=0 IF /i "%value%" == "NO" SET restore=0 IF /i "%value%" == "OFF" SET restore=0 GOTO loop_options REM ==== Define need of backup compression and compress ratio ====================== :compress IF "%value%" GEQ "0" IF "%value%" LEQ "5" SET rar_compress_ratio=%value% GOTO loop_options REM ==== Define SYSDBA password (in addition or for replace source code given) ===== :password if "%ISC_PASSWORD_LOCAL%" GTR "" if "%ISC_PASSWORD_REMOTE%" GTR "" ( SET ISC_PASSWORD_LOCAL=%value% SET ISC_PASSWORD_REMOTE=%value% ) if "%ISC_PASSWORD_LOCAL%" == "" SET ISC_PASSWORD_LOCAL=%value% if "%ISC_PASSWORD_REMOTE%" == "" SET ISC_PASSWORD_REMOTE=%value% GOTO loop_options REM ==== Define file list to compress (in addition to backup and maybe logs) ======= :add_file_to_compress IF "%backup_files%" == "" ( SET backup_files="%next_param%" ) ELSE ( SET backup_files=%backup_files% "%next_param%" ) GOTO loop_options REM ==== Print predefined or recognized in command line options ==================== :print_options IF %backup_count% GTR 0 ( ECHO backup_count = %backup_count% ) ELSE ( ECHO backup_count = OFF ) IF "%file_size_shift%" == "" SET file_size_shift=0 IF %backup_space_limit% GTR 0 ( IF %file_size_shift% == 6 ( ECHO backup_space_limit = %backup_space_limit% Mb ) ELSE IF %file_size_shift% == 3 ( ECHO backup_space_limit = %backup_space_limit% Kb ) ELSE ECHO backup_space_limit = %backup_space_limit% bytes ) ELSE ( ECHO backup_space_limit = OFF ) IF "%garbage_collection%" == "-g" ( ECHO garbage_collection_flag = OFF ) ELSE ( ECHO garbage_collection_flag = ON ) IF %restore% == 0 ( ECHO test_restore_flag = OFF ) ELSE ( ECHO test_restore_flag = ON ) IF %rar_compress_ratio% == 0 ( ECHO backup_compressing = OFF ) ELSE ( ECHO backup_compressing = ON, RAR-ratio=%rar_compress_ratio% ) REM ==== Define backup file and backup log ========================================= SET datetime=%date:~-2%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2% SET finish_file=%result_dir%\%local_file_or_alias%.%datetime: =0%.%backup_ext% SET direct_backup=0 IF %rar_compress_ratio% == 0 ( IF %is_local_result_dir% == 1 SET direct_backup=1 IF %restore% == 0 SET direct_backup=1 ) IF %direct_backup% == 1 ( SET backup_file=%finish_file% ) ELSE ( SET backup_file=%temp_backup_dir%\%local_file_or_alias%.%backup_ext% IF NOT EXIST "%temp_backup_dir%" ( MD "%temp_backup_dir%" IF NOT EXIST "%temp_backup_dir%" ( SET fail=Cannot create backup directory! GOTO finish ) ) ) ECHO backup_file = %backup_file% SET backup_log=%result_dir%\%local_file_or_alias%.backup.log ECHO backup_log = %backup_log% REM ==== Define restore file and restore log ======================================= SET restore_file=%temp_restore_dir%\%local_file_or_alias%.testrest IF %restore% GTR 0 ( IF NOT EXIST "%temp_restore_dir%" ( MD "%temp_restore_dir%" IF NOT EXIST "%temp_restore_dir%" ( ECHO temp_restore_dir = %temp_restore_dir% SET fail=Cannot create restore directory! GOTO finish ) ) ECHO restore_file = %restore_file% SET restore_log=%result_dir%\%local_file_or_alias%.restore.log ) IF "%restore_log%" GTR "" ( ECHO restore_log = %restore_log% ) else ( SET restore_log=just_a_stub ) REM ==== Define compresed file ===================================================== SET compressed_file=%finish_file%.rar IF %rar_compress_ratio% GTR 0 ( ECHO compressed_file = %compressed_file% SET finish_file=%compressed_file% ) REM ==== Delete not actual files (over defined count) ============================== SET /a over=%backup_count%-1 IF %backup_count% == 1 ( ECHO deleting_old_files = %result_dir%\%local_file_or_alias%.*.%backup_ext%* DEL "%result_dir%\%local_file_or_alias%.*.%backup_ext%*" /q ) ELSE IF %backup_count% GTR 1 ( FOR /f "SKIP=%over%" %%f IN ('DIR "%result_dir%\%local_file_or_alias%.*.%backup_ext%*" /a:-D /b /o:-N 2^>NUL') DO ( IF EXIST "%result_dir%\%%f" ( ECHO deleting_old_file = %result_dir%\%%f DEL "%result_dir%\%%f" /q ) ) ) REM ==== Perform backup ============================================================ IF EXIST "%backup_log%" DEL "%backup_log%" /q ECHO backup_start = %date% %time:~0,8% SET is_local_backup=0 IF %is_local_db% == 1 ( IF %is_local_result_dir% == 1 SET is_local_backup=1 IF %direct_backup% == 0 SET is_local_backup=1 SET ISC_PASSWORD=%ISC_PASSWORD_LOCAL% ) ELSE ( SET ISC_PASSWORD=%ISC_PASSWORD_REMOTE% ) IF "%rar_password%" == "" SET rar_password=%ISC_PASSWORD% IF %is_local_backup% == 1 ( ECHO %gbak% -b %garbage_collection% -se %service_mgr_host%:service_mgr %local% "%backup_file%" -v -y "%backup_log%" %gbak% -b %garbage_collection% -se %service_mgr_host%:service_mgr %local% "%backup_file%" -v >"%backup_log%" 2>&1 ) ELSE ( ECHO %gbak% -b %garbage_collection% "%full_db_specification%" "%backup_file%" -v -y "%backup_log%" %gbak% -b %garbage_collection% "%full_db_specification%" "%backup_file%" -v >"%backup_log%" 2>&1 ) IF %ERRORLEVEL% GTR 0 ( IF EXIST "%backup_log%" ( SET fail=Backup fail! See %backup_log% for details. ) ELSE ( SET fail=Backup fail! ) GOTO finish ) IF NOT EXIST "%backup_log%" ( SET fail=Backup fail! GOTO finish ) REM ==== Perform test restore ====================================================== IF %restore% GTR 0 ( IF EXIST "%restore_log%" DEL "%restore_log%" /q IF "%ISC_PASSWORD_LOCAL%" GTR "" ( SET ISC_PASSWORD=%ISC_PASSWORD_LOCAL% ) ELSE ( SET ISC_PASSWORD=%ISC_PASSWORD_REMOTE% ) ECHO restore_start = %date% %time:~0,8% ECHO %gbak% -rep -se %service_mgr_host%:service_mgr "%backup_file%" "%restore_file%" -v -y "%restore_log%" %gbak% -rep -se %service_mgr_host%:service_mgr "%backup_file%" "%restore_file%" -v >"%restore_log%" 2>&1 IF %ERRORLEVEL% GTR 0 ( IF EXIST "%restore_log%" ( SET fail=Test restore fail! See %restore_log% for details. ) ELSE ( SET fail=Test restore fail! ) GOTO finish ) IF NOT EXIST "%restore_log%" ( SET fail=Test restore fail! GOTO finish ) ) REM ==== Perform RAR-compression or copy backup into destination dir =============== IF "%rar_password%" GTR "" SET rar_password=-p%rar_password% SET rar_options=%rar_options% -m%rar_compress_ratio% SET backup_files="%backup_file%" %backup_files% IF %include_logs_to_archive% == 1 ( IF %restore% GTR 0 ( SET backup_files=%backup_files% "%backup_log%" "%restore_log%" ) ELSE ( SET backup_files=%backup_files% "%backup_log%" ) ) IF %rar_compress_ratio% GTR 0 ( ECHO compressing_start = %date% %time:~0,8% ECHO %rar% %rar_options% "%compressed_file%" %backup_files% %rar% %rar_options% %rar_password% "%compressed_file%" %backup_files% IF %ERRORLEVEL% GTR 0 ( SET fail=Compression fail! GOTO finish ) ) ELSE IF %direct_backup% == 0 ( ECHO copying_start = %date% %time:~0,8% ECHO COPY "%backup_file%" "%finish_file%" COPY "%backup_file%" "%finish_file%" ) REM ==== Delete not actual files (over defined space) ============================== IF %backup_space_limit% GTR 0 ( SETLOCAL EnableDelayedExpansion IF %ERRORLEVEL% GTR 0 ( ECHO You must enable var delayed expansion by CMD.EXE /V:ON or at registry key ECHO Software\Microsoft\Command Processor\DelayedExpansion: HKLM or HKCU GOTO finish ) FOR /f %%f IN ('DIR "%result_dir%\%local_file_or_alias%.*.%backup_ext%*" /a:-D /b /o:-N') DO ( FOR %%i in ("%result_dir%\%%f") DO ( SET size=%%~zi IF %file_size_shift% == 3 SET size=!size:~0,-3! IF %file_size_shift% == 6 SET size=!size:~0,-6! IF "!size!" == "" SET size=0 IF "!total_space!" == "" ( SET /a total_space=!size! ) ELSE ( IF !total_space! LEQ %backup_space_limit% SET /a total_space+=!size! IF !total_space! GTR %backup_space_limit% ( ECHO deleting_overquota_file = %result_dir%\%%f DEL "%result_dir%\%%f" /q ) ) ) ) ) REM ==== Report when fail or exit ================================================== :finish IF "%fail%" == "" ( ECHO Finish = %date% %time:~0,8% GOTO exit ) ECHO #=============================================================================# ECHO # %fail% ECHO #=============================================================================# SET fail=%fail%, DB: %full_db_specification%, Dest: %result_dir% IF "%net_send_receiver%" GTR "" ( ECHO NET SEND %net_send_receiver% "%fail%" NET SEND %net_send_receiver% "%fail%" ) IF "%blat%" GTR "" IF "%smtp_server%" GTR "" IF "%mail_sender%" GTR "" IF "%mail_login%" GTR "" IF "%mail_receiver%" GTR "" ( ECHO %blat% -to "%mail_receiver%" -subject "%mail_subject%" -body "%fail%" -server %smtp_server% -f "%mail_sender%" -u "%mail_login%" -pw "*******" %blat% -to "%mail_receiver%" -subject "%mail_subject%" -body "%fail%" -server %smtp_server% -f "%mail_sender%" -u "%mail_login%" -pw "%mail_password%" ) SET time_ex=%time: =0% IF "%error_log%" GTR "" ( ECHO %date% %time_ex:~0,8% %fail% >> "%error_log%" ) EXIT /b 1 :exit
ãŸããæãåçŽãªåœ¢åŒã§ã¹ã¯ãªãããå®è¡ããŠçæããããã°ãæäŸããŸããè¿œå ã®ããŒããã¹ãŠã®ããã©ã«ããã©ã¡ãŒã¿ãããŒã¿ããŒã¹ã¢ãã¬ã¹ãšå®å
ãã£ã¬ã¯ããªã®ã¿ã転éãããŸã
fb_backup.bat localhostïŒpïŒ\ MSO \ DB \ MS_ORDERS.FDB \\ 192.168.1.1 \ disk_a1 \ exchange> fb_backup.log #=============================================================================# # # # Firebird/InterBase database backup, test restore, zip and rotate script # # Ver 3.2.7 (11.11.2012) # # # # Author: arni (email:arnisoft at rambler dot ru) # # # # Format: # # FB_BACKUP [host[/port]:][path]db_file_or_alias result_dir # # [/count:backup_count] [/space:backup_space_limit] [/gc] # # [/restore] [/compress:level] [/password:SYSDBA_password] # # [other_files_to_compress [...]] # # # # Input params: # # [host[/port]:][path] : local or network, full-specified path or alias # # db_file_or_alias to the source database # # result_dir : result backup collecting directory # # /count:backup_count : backup file number to keep (30 by default) # # /space:backup_space_limit : total backup size in bytes (not use by default) # # you can use suffixes K, M or G. # # /gc : need to collect garbage in DB (OFF by default) # # /restore : need to do test restore (OFF by default) # # /compress:level : compress ratio for RAR (2 by default): # # 0: not compress, 1: fastest, 2: fast, # # 3: normal, 4: good, 5: best # # /password:SYSDBA_password : optional SYSDBA password for remote server # # (by default uses one from the source code) # # other_files_to_compress : list of files that must be add to archive # # # #=============================================================================# full_db_specification = localhost:p:\MSO\DB\MS_ORDERS.FDB network_specification = localhost local_db_specification = p:\MSO\DB\MS_ORDERS.FDB local_path = p:\MSO\DB\ local_db_file_or_alias = MS_ORDERS.FDB result_dir = \\192.168.1.1\disk_a1\ backup_count = 30 backup_space_limit = OFF garbage_collection_flag = OFF test_restore_flag = OFF backup_compressing = ON, RAR-ratio=2 backup_file = C:\WINDOWS\TEMP\MS_ORDERS.FDB.fbk backup_log = \\192.168.1.1\disk_a1\\MS_ORDERS.FDB.backup.log compressed_file = \\192.168.1.1\disk_a1\\MS_ORDERS.FDB.121111_1621.fbk.rar backup_start = 11.11.2012 16:21:48 "C:\Programs\FB25\bin\gbak.exe" -b -g -se localhost:service_mgr p:\MSO\DB\MS_ORDERS.FDB "C:\WINDOWS\TEMP\MS_ORDERS.FDB.fbk" -v -y "\\192.168.1.1\disk_a1\\MS_ORDERS.FDB.backup.log" compressing_start = 11.11.2012 16:21:51 "C:\Program Files\WinRAR\rar.exe" a -y -ep -idcd -m2 "\\192.168.1.1\disk_a1\\MS_ORDERS.FDB.121111_1621.fbk.rar" "C:\WINDOWS\TEMP\MS_ORDERS.FDB.fbk" "\\192.168.1.1\disk_a1\\MS_ORDERS.FDB.backup.log" \\192.168.1.1\disk_a1\\MS_ORDERS.FDB.121111_1621.fbk.rar C:\WINDOWS\TEMP\MS_ORDERS.FDB.fbk 6
ã¹ã¯ãªããã®æçãåæããŠã¿ãŸãããã
èŠåºãããããŒã«ã¯ãçŸåšã®ããŒãžã§ã³ã§ãããªãŒãµãŒã·ãããžã®åç
§ãå«ãŸããŠããŸãããäž»ãªãã®ã¯åŒã³åºã圢åŒã®èª¬æã§ããåºæ¬çãªãã©ã¡ãŒã¿ãŒããªãã·ã§ã³ãããã©ã«ãå€ã¯ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒãåãå
¥ããŸãã
ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒã¯ä»»æã®é åºã§å
¥åã§ããŸããã³ãã³ãã©ã€ã³ããŒã®æšæºæåïŒã¹ã©ãã·ã¥[/]ãŸãã¯ããã·ã¥[-]ïŒãåã«ä»ããããšããå§ãããŸãã
@CLS @ECHO OFF ECHO #=============================================================================# ECHO # # ECHO # Firebird/InterBase database backup, test restore, zip and rotate script # ECHO # Ver 3.2.8 (26.01.2013) # ECHO # # ECHO # Author: arni (email:arnisoft at rambler dot ru) # ECHO # # ECHO # Format: # ECHO # FB_BACKUP [host[/port]:][path]db_file_or_alias result_dir # ECHO # [/count:backup_count] [/space:backup_space_limit] [/gc] # ECHO # [/restore] [/compress:level] [/password:SYSDBA_password] # ECHO # [other_files_to_compress [...]] # ECHO # # ECHO # Input params: # ECHO # [host[/port]:][path] : local or network, full-specified path or alias # ECHO # db_file_or_alias to the source database # ECHO # result_dir : result backup collecting directory # ECHO # /count:backup_count : backup file number to keep (30 by default) # ECHO # /space:backup_space_limit : total backup size in bytes (not use by default) # ECHO # you can use suffixes K, M or G. # ECHO # /gc : need to collect garbage in DB (OFF by default) # ECHO # /restore : need to do test restore (OFF by default) # ECHO # /compress:level : compress ratio for RAR (2 by default): # ECHO # 0: not compress, 1: fastest, 2: fast, # ECHO # 3: normal, 4: good, 5: best # ECHO # /password:SYSDBA_password : optional SYSDBA password for remote server # ECHO # (by default uses one from the source code) # ECHO # other_files_to_compress : list of files that must be add to archive # ECHO # # ECHO #=============================================================================#
ããã©ã«ããã©ã¡ãŒã¿ã®æ±ºå®ããã§ã¯ãã»ã¯ã·ã§ã³ãæ
åœãã5ã€ã®ãããã¯ã衚瀺ãããŸãã
- ãµãŒããŒèšå®;
- b / rãã©ã¡ãŒã¿;
- ã¢ãŒã«ã€ãèšå®;
- ã¡ãŒã©ãŒãªãã·ã§ã³ã
- ãã®ä»ã®ãã©ã¡ãŒã¿ãŒã
ããã§ïŒ
- gbak-ãµãŒããŒãã³ãã«ãããŠãŒãã£ãªãã£ãŠãŒãã£ãªãã£ãžã®ãã¹ã
- ISC_USER-代ããã«b / rãçºçãããŠãŒã¶ãŒã
- ISC_PASSWORD_LOCAL-ããŒã«ã«ãã·ã³ã§éžæãããŠãŒã¶ãŒã®ãã¹ã¯ãŒãã
- ISC_PASSWORD_REMOTE-ãªã¢ãŒããã·ã³ã§éžæããããŠãŒã¶ãŒã®ãã¹ã¯ãŒãïŒãã©ã¡ãŒã¿ãŒ/ãã¹ã¯ãŒããæž¡ãããšããå§ãããŸãïŒxxxxxxxxïŒ;
- temp_backup_dir-å®å
ãã£ã¬ã¯ããªã«ã¢ãŒã«ã€ããããåã«ããã¯ã¢ãããå®è¡ãããäžæãã£ã¬ã¯ããªã å
ã®ããŒã¿ããŒã¹ã®å ŽæãšäžèŽããªãç©çãã£ã¹ã¯ãéžæããããšããå§ãããŸãã
- temp_restore_dir-ãã¹ã埩å
ãè¡ããããã£ã¬ã¯ããªã å
ã®ããŒã¿ããŒã¹ã®å ŽæãšäžèŽãããããã¯ã¢ãããã¡ã€ã«ã®å ŽæãšäžèŽããªãç©çãã£ã¹ã¯ãéžæããããšããå§ãããŸãã
- backup_ext-ããã¯ã¢ããä»ãã®ããã©ã«ãã®ãã¡ã€ã«æ¡åŒµåã
- garbage_collection-gbak.exeããŒãããã¯ã¢ããäžã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã«é¢ããããã©ã«ãã®åäœãæ
åœããŸãïŒ/ gcãã©ã¡ãŒã¿ãŒãå¶åŸ¡ããããšããå§ãããŸãïŒã
- restore-ãã¹ããªã«ããªãå®è¡ããå¿
èŠæ§ã«é¢ããããã©ã«ãã®åäœã®ãã©ã°ïŒ/ restoreãªãã·ã§ã³ãå¶åŸ¡ããããšããå§ãããŸãïŒ;
- rar_options-RARã¢ãŒã«ã€ãã®ããã©ã«ãããŒïŒ "a"-å§çž®ã ã-yã-質åãããŸããã ã-epã-ãã¹ãé€å€ããŸãã ã-idcdã-åºåã«èäœæš©ãšæºåããŒã¯ãä»ããªãã
- rar_password-ã¢ãŒã«ã€ãã®ãã¹ã¯ãŒãïŒèšå®ãããŠããªãå Žåãã¢ãŒã«ã€ããŒã¯FirebirdãŠãŒã¶ãŒã®ãã¹ã¯ãŒãã䜿çšããŸãïŒ;
- rar_compress_ratio-ããã©ã«ãã®å§çž®çïŒ/ compressïŒlevelãã©ã¡ãŒã¿ãŒãå¶åŸ¡ããããšããå§ãããŸãïŒ
- blat-ã¡ãŒã©ãŒblat.exeãžã®ãã¹ã
- smtp_server-ã¡ãŒãªã³ã°ãå®è¡ãããSMTPãµãŒããŒã
- mail_sender-éä¿¡è
ã®äœæã
- mail_login-ãµãŒããŒäžã®éä¿¡è
ãã°ã€ã³ã
- mail_password-ãµãŒããŒã®éä¿¡è
ãã¹ã¯ãŒãã
- mail_receiver-éµéå
ã®äœæã
- mail_subject-ã¡ãŒãªã³ã°ãªã¹ãã®ããããŒã
- include_logs_to_archive-b / rãã°ãã¢ãŒã«ã€ãå
ã«çœ®ãããã®ãã©ã°ã
- net_send_receiver-NET SENDãã©ã³ã¹ããŒãé害ã¢ã©ãŒããéä¿¡ããããã¹ãã®ãããã¯ãŒã¯åã
- error_log-倱æãããšã©ãŒã®ãã°ãã¡ã€ã«ã
ãœãŒã¹ããŒã¿ããŒã¹å®çŸ©ããã«èŠãïŒ
- æž¡ãããæåã®ãã©ã¡ãŒã¿ãŒãããœãŒã¹ããŒã¿ããŒã¹ã®ä»æ§ãèªã¿åããŸãã
- ãã¹ãåãããŒããããŒã«ã«ãã¹ãããŒã¿ããŒã¹ãã¡ã€ã«åãŸãã¯ãã®ãšã€ãªã¢ã¹ãžã®ä»æ§ã®åé¢ã
- ä»æ§ã®äžéšãã³ã³ãœãŒã«ã«å°å·ããŸãã
- ãã®ããŒã¿ããŒã¹ãããŒã«ã«ã§ããããªã¢ãŒãã§ãããã確èªããŸãïŒã¯ã©ã·ãã¯ããã¯ã¢ãããŸãã¯ãµãŒãã¹ãä»ããããã¯ã¢ãããéžæãããšãã«éèŠã«ãªããŸãïŒã
çµæã®ãã£ã¬ã¯ããªã®å®çŸ©ïŒããã¯ã¢ãããè¿œå ãããå ŽæïŒããã«èŠãïŒ
- ã¹ã¯ãªããã«æž¡ããã2çªç®ã®ãã©ã¡ãŒã¿ãŒããçµæã®ãã£ã¬ã¯ããªãèªã¿åããŸãã
- çµæã®ãã£ã¬ã¯ããªãèŠã€ãããªãå ŽåãäœæãããŸãã
- ãã£ã¬ã¯ããªã®å Žæã®æ±ºå®ïŒããŒã«ã«ãŸãã¯ãªã¢ãŒãïŒãããã¯ãŒã¯ïŒ-æé©ãªããã¯ã¢ããæŠç¥ãéžæããããã«ä»¥äžã§å¿
èŠã«ãªããŸãã
ãã®ãããã¯ã«ã¯ãšã©ãŒåŠçã³ãŒããããããšã©ãŒãçºçãããšå€æ°ã«ãšã©ãŒã®æ¬è³ªãæžã蟌ãŸããŸãããã®åŸãå¶åŸ¡ã¯ã¹ã¯ãªããã®æåŸã«ç§»åããŸãã管çè
ãšã®ãã£ãŒãããã¯ãããã¯ã§ãã åæ§ã®ãã³ãã©ãŒã¯ãåŸç¶ã®ãã¹ãŠã®ãããã¯ã«ãããããã«ãããã«ã€ããŠã¯ç¹ã«èšåããŸããã
æž¡ãããæ®ãã®ãã©ã¡ãŒã¿ãŒã®èªã¿åãããã«ãããã¯ããããŸãïŒ
- 次ã®ãã©ã¡ãŒã¿ãŒã®èªã¿åãã
- ããŒãååãšå€ã«åé¢ããŸãã
- ããŒèªèããã®åŠçãžã®ç§»è¡ã
- ä¿åããã³ããŒã®æ°ãèšå®ããŸãã
- ã³ããŒã®ç·éãèšå®ããŸãã
- ããŒã¿ããŒã¹å
ã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®ãã©ã°ã管çããŸãã
- å埩ãã©ã°ç®¡çã®ãã¹ãã
- ã¢ãŒã«ã€ãã«ããå§çž®çã®å®çŸ©ã
- ãªã¢ãŒããµãŒããŒã®SYSDBAãã¹ã¯ãŒããä¿åããŸãã
- ã¢ãŒã«ã€ãçšã®è¿œå ãã¡ã€ã«ã®ãªã¹ããèªãã
泚ïŒ
- ã¬ã¹ãã©ã³ãŸãã¯ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®ããŒã«ãã©ã°ã¯ã次ã®å€ãåããŸããFalse= 0ãNãNOãOFFã True = 1ãYãYESãONã
- æ ŒçŽãããããŒã¿ã®åèšéã¯ãã€ãåäœã§è»¢éãããŸãã ããããä»¥æ¥ ã³ãã³ãããã»ããµã®æ°å€ã¯32ãããæŽæ°ã«å¶éãããŠããããã1 GBãè¶
ããå€ãéä¿¡ããã«ã¯ãæ¥å°ŸèŸã®ãããã€ãïŒKïŒãã¡ã¬ãã€ãïŒMïŒããŸãã¯ã®ã¬ãã€ãïŒGïŒãæå®ããã®ãæé©ã§ãã äŸïŒ/ã¹ããŒã¹ïŒ1200Kã/ã¹ããŒã¹ïŒ280Mã/ã¹ããŒã¹ïŒ12Gã ãã®ãããã¯ã§ã¯ãã¹ãã¬ãŒãžãŠãããã®ã¹ã±ãŒã«ãåãæšãŠãã³ãŒãã芳å¯ããããšãã§ããŸããããã«ãããã³ãã³ãããã»ããµã®32ãããæŒç®ãè¶
ããããªã¥ãŒã ãæäœã§ããŸãã
- 転éããããã¹ã¯ãŒãã¯æ¬¡ã®ããã«è§£éãããŸãããœãŒã¹ãå€æ°ISC_PASSWORD_LOCALïŒããŒã«ã«ïŒããã³å€æ°ISC_PASSWORD_REMOTEïŒãªã¢ãŒãïŒã®å€ãå®çŸ©ããŠããå Žåã転éãããå€ã¯ãããã®å€æ°ã®äž¡æ¹ããªãŒããŒã©ã€ãããŸãã ãã®ä»ã®å ŽåïŒå°ãªããšã1ã€ã®å€æ°ãå®çŸ©ãããŠããªãå ŽåïŒã転éãããå€ã¯ç©ºã®å€æ°ã«ã®ã¿æžã蟌ãŸããå
¥åãããå€ã¯ãã®æå®ã®å€ãä¿æããŸãã
- å§çž®çšã®è¿œå ãã¡ã€ã«ïŒãŸãã¯ãã¡ã€ã«ãã¹ã¯ïŒã¯ãããŒã·ã³ãã«[/]ãªãã§èªç¶ãªæ¹æ³ã§è»¢éãããŸãã
ã¹ã¯ãªãããå®è¡ããããã®æçµãã©ã¡ãŒã¿ãŒãåºåããŸãããã«èŠãïŒ
- ä¿åãããã³ããŒã®æ°ã®åºåã
- ã³ããŒãä¿åããããã®åèšã¹ããŒã¹ã®åºåã
- åºåãã©ã°ã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã
- ãã©ã°åºåãã¹ãå埩;
- ã¢ãŒã«ã€ãã®å
åãšäœ¿çšãããå§çž®çã®çµè«ã
ã¯ãŒã¯ãã¡ã€ã«å®çŸ©ããã«èŠãïŒ
- ããã¯ã¢ãããã¡ã€ã«åã§äœ¿çšããã¿ã€ã ã¹ã¿ã³ããåé€ããŸãã
- å®å
ãã£ã¬ã¯ããªã«çŽæ¥ããã¯ã¢ãããããããã®åŸã®ãªã«ããªãå§çž®ãªã©ã®ããã«æåã«äžæã¹ãã¬ãŒãžã«ããã¯ã¢ãããããã決å®ããŸãã
- ããã¯ã¢ãããã¡ã€ã«ã®å®å
šãªä»æ§ã®å®çŸ©ã
- ããã¯ã¢ãããã°ã®å®å
šãªä»æ§ã®å®çŸ©ã
- èšç®ããããã©ã¡ãŒã¿ãŒã®å°å·ã
- ã¬ã¹ãã©ã³ã®ãã©ã°ãç«ãŠãããŠããå Žåãã¬ã¹ãã©ã³ã®ãã¡ã€ã«ãšã¬ã¹ãã©ã³ã®ãã°ã®ä»æ§ã®æ±ºå®ãšå°å·
- å§çž®ãèŠæ±ãããå Žåãã¢ãŒã«ã€ããã¡ã€ã«ã®å®çŸ©ãšå°å·ã
å®å
ãã£ã¬ã¯ããªããäœåãªã³ããŒãåé€ãã ããã¯ã¢ããå®è¡ããã«èŠãïŒ
- 以åã®ããã¯ã¢ãããã°ãåé€ããŸãïŒå€ããã°ã«ã€ãŸãããšgbak.exeã¯ãšã©ãŒãè¿ããŸãïŒã
- ããŒã¿ããŒã¹ãããŒã«ã«ãšããŠèªèãããããªã¢ãŒããšããŠèªèããããã«å¿ããŠããã¹ã¯ãŒããéžæãããŸãã
- ããŒã¿ããŒã¹ã®å Žæãšããã¯ã¢ããçšã®ãã£ã¬ã¯ããªã®å Žæã«å¿ããŠãæéã®æŠç¥ã䜿çšããèœåã決å®ããŸã-ãµãŒãã¹ãä»ããããã¯ã¢ããããŸãã¯ãã®ä»ã®åŸæ¥ã®ããã¯ã¢ããã
ãã¹ããªã«ããªã®å®è¡ããã«èŠãïŒ
- 以åã®ã¬ã¹ãã©ã³ã®ãã°ãåé€ããŸãïŒå€ããã°ã«ã€ãŸãããšgbak.exeã¯ãšã©ãŒãè¿ããŸãïŒã
- ãªã«ããªã®å®è¡ïŒããã¯ã¢ãããã¡ã€ã«ãšãã¹ãããŒã¿ããŒã¹ã®äž¡æ¹ãã¹ã¯ãªããã®ãã®ãã©ã³ãã§ããŒã«ã«ã§ãããããåžžã«ãµãŒãã¹ãä»ããŠïŒ;
泚ïŒ
InterBaseãYaffilããŸãã¯FirebirdãããŒãžã§ã³2.0ããæ°ããå Žåã¯ã-repå埩ãã©ã°ã-rã«çœ®ãæããå¿
èŠããããŸãã
ã¢ãŒã«ã€ãå§çž®ããã«èŠãïŒ
- ã¢ãŒã«ã€ããã¹ã¯ãŒããšå§çž®çãå«ãããã¹ãŠã®rarãã©ã¡ãŒã¿ãšããŒã®ã³ã¬ã¯ã·ã§ã³ã
- ããã¯ã¢ããããã°ïŒããªã·ãŒã§æå®ãããŠããå ŽåïŒããã³ãã®ä»ã®ãã¡ã€ã«ïŒè»¢éãããŠããå ŽåïŒãå«ããå§çž®çšã®ãã¹ãŠã®ãã¡ã€ã«ã®ã³ã¬ã¯ã·ã§ã³ã
- å§çž®ãæå®ãããŠããå Žåãå§çž®ãå®è¡ããŸãã
- å§çž®ãç¡å¹ã«ãªã£ãŠããå Žåãããã¯ã¢ãããã¡ã€ã«ãå®å
ãã£ã¬ã¯ããªã«ã³ããŒããã ãã§ãïŒã¹ã¯ãªãããæåã«ããã«äœæããªãã£ãå Žåã®ã¿ïŒã
泚ïŒ
å€ãã®è°è«ã§ãããã¯ã¢ããã³ããŒã®å§çž®ãé«éåããããã«ãæåã®åºåã2çªç®ã®å
¥åã«çŽæ¥éããããšãã«gbak.exeãšrar.exeãäžç·ã«èµ·åãããäŸããããŸãã æ®å¿µãªããããã®æ¹æ³ã«ã¯äœ¿çšãæšå¥šã§ããªãé倧ãªæ¬ ç¹ããããŸããgbak.exeã倱æããå Žåããããã«ããŠããŒãïŒæåïŒã®ãªã¿ãŒã³ã³ãŒããè¿ãããŸãã rar.exeã¯ãgbak.exeã厩å£ããåã«è»¢éããããšãã§ãããã³ç²ãæ£çŽãã€ééããªãä¿åããŸããã ã€ãŸã ç Žæããããã¯ã¢ããã埩å
ããããšããããäœæãããã¢ãŒã«ã€ãã®ãããŒãµã€ãºã«èª€ã£ãŠæ³šæãæããªãéããããã¯ã¢ããããã»ã¹ã倱æããããšã¯æ±ºããŠããããŸããã
æå®ããããã£ã¹ã¯ã¯ã©ãŒã¿ãè¶
ãããã¡ã€ã«ãåé€ããããã«èŠãïŒ
- åèšãã¡ã€ã«ãµã€ãºãèšç®ããããã«å¿
èŠãªãã³ãã³ãããã»ããµã§å€æ°ã®é
延å±éãã¢ã¯ãã£ãã«ããããšããè©Šã¿ïŒé害ãçºçããå ŽåããŠãŒã¶ãŒã«éç¥ããŠãããã¯ãçµäºããïŒã
- æ°é®®ãªãã®ããæãå€ããã®ãŸã§ã®çŽ¯ç©ããã¯ã¢ãããæ€çŽ¢ãããããã®åèšããªã¥ãŒã ãã«ãŠã³ãããŸãã , . , 32- ( ), .
æçµéš:
- , : , , ;
- NET SEND, ;
- (, , , ), ;
- - , ;
- â , ( â ), ;
ç§ãã¡ã®æ¥åžžæ¥åã§ã®ã¹ã¯ãªããã®äœ¿çšã説æããã¹ã¯ãªãããããã€ã玹ä»ããŸããæ¡ä»¶ä»ãã§ãå€éããã¯ã¢ããããšãæŒããã¯ã¢ããããšåŒã³ãŸããå€ã«ãªããšã誰ãåºå°ã§åããŠããªãããã»ãšãã©èª°ãåããŠããŸããããµãŒããŒãªãœãŒã¹ã¯ã¢ã€ãã«ç¶æ
ã§ãããããå®å
šãªb / rãµã€ã¯ã«ãäœæããããšãé©åã§ããã€ãŸãã次ã®ãšããã§ãã-ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã䜿çšããããã¯ã¢ããã-ãã¹ãã®å埩ã-ããã¯ã¢ãããšã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ã®çŸåšã®ããŒãžã§ã³ã®å§çž®ãããã³æé©ãªæ¹æ³ã§ã®å§çž®ããå€éããã¯ã¢ããããèµ·åããäŸã次ã«ç€ºããŸãã fb_backup.bat localhost:Orma4 d:\Bak /count:99 /space:500G /compress:5 /restore /gc d:\Orma.exe >C:\Orma4.log 2>&1
ããã©ãããããæ¥æ¬¡ããã¯ã¢ãããã®èµ·åã¯ããµãŒããŒãžã®è² æ
ãæå°éã«æããããŒã¿ããŒã¹ã«æ¥ç¶ããŠãããŠãŒã¶ãŒã«ã§ããã ãè² æ
ããããã«ãã§ããã ãæ©ã解決ããå¿
èŠããããŸãããããã£ãŠãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãšãã¹ããªã«ããªãé€å€ããæéã®æ¹æ³ã§å§çž®ããããã¯ã¢ãããã¡ã€ã«ã®ã¿ãå§çž®ããŸãã fb_backup.bat localhost:Orma4 d:\Bak /count:99 /space:500G /compress:1 >C:\Orma4.log 2>&1
ãªã¢ãŒããµãŒããŒãžã®ããã¯ã¢ãããèšé²ããããã®å¥ã®ãªãã·ã§ã³ããããŸãïŒã»ãã¥ãªãã£äžã®çç±ãããããã¹ãŠã®åµã1ã€ã®ãã¹ã±ããã«ä¿ç®¡ããªãããšããååã«åŸã£ãŠïŒãäžéã®ããŒã»ãããçµã¿åãããŸããéåžžãã¢ãŒã«ã€ãã¯ããããã¯ãŒã¯ããã¡ã€ã«è»¢éãåŠçã§ããé床ããéãç²ç ããä»ã®æäœïŒã¬ããŒãžã³ã¬ã¯ã·ã§ã³ããã¹ããªã«ããªãã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ã®ä¿åãªã©ïŒãå¯èœãªéãé€å€ããŸããããŒã«ã«ãµãŒããŒãžã®ãå€éããã¯ã¢ããããæ¢ã«è¡ãããŠããŸãã fb_backup.bat localhost:Orma4 \\ifs\E$\backup\FirebirdDB /count:99 /space:300G /compress:5 >C:\Orma4.log 2>&1
ç¥èã®ãªã人ã«ãšã£ãŠãã³ãã³ãã®çµäºãšã¯ãã¹ã¯ãªããåºåïŒstdoutïŒããã¡ã€ã«ã«ãªãã€ã¬ã¯ããããšã©ãŒåºåïŒstderrïŒãåããã¡ã€ã«ã«éä¿¡ããããšãæå³ããŸãã >C:\Orma4.log 2>&1
ã¹ã¯ãªããã®å¶éã«ã€ããŠå°ãã- Windows, , Linux. , UNIX-. , , , . , - .
- , SYSDBA , . Windows Trusted Authentication , b/r , .
- , , .. , , . , (, FB2.5.1, FB2.5.2 2.5.3, ), .. b/r .
- b/r SYSDBA ( , ). . , ( ), .
- , . , â , «», , â . : , .
- , ( , ). : / «» 1251, , 866. .. FAR , . UTF8.
- , ( ), , , , , / , , . , .