#!/usr/bin/perl
# Script for backup SQL tables from InterBase
# Скрипт для бэкапа данных хранимых в InterBase
# Copyright (c) 2001 by Alex Sokoloff. <sokoloff@mail.ru>
#
# Написан для fsbackup
# http://www.opennet.ru/dev/fsbackup/
# Copyright (c) 2001 by Maxim Chirkov. <mc@tyumen.ru>
#
#

#-------------------
# Directory to store SQL backup. You must have enought free disk space to store 
# all data from you SQL server.
# Директория куда будет помещен бэкап данных с SQL сервера. 
# Внимание !!! Дожно быть достаточно свободного места для бэкапа всех 
# выбранных БД.
#-------------------

$backup_path="/opt/fsbackup";

#-------------------
# List of databases and it's
# names of backup, single word.
# Список включаемых в бэкап баз, и имена бэкапов.
#-------------------

%db_list=(

"/interbase/base1.gdb",	 "base1.gbk",
"/interbase/base2.gdb",  "base2.gbk"

);


#-------------------
# Auth information for MySQL.
# Имя пользователя и пароль для содинения с Mysql, для InterBase скрипт 
# должен запускаться из-под пользователя с правами полного боступа к базам InterBase.
#-------------------

#backup_ibuser=""
#backup_ibpassword=""


#-------------------
# Full path of InterBase backup program (gbak).
# Путь к программе InterBase backup (gbak).
#-------------------

$backup_progdump="/opt/interbase/bin/gbak";

#-------------------                                                          
# Verbose level.                                                              
#       0       - Silent mode, suspend all output, except fatal configuration 
#                 errors.                                                     
#       1       - Output errors and warnings.                                 
#       2       - Output all the  available  data.                            
#                                                                             
# Уровень "говорливости", регулирует объем выводимых программой сообщений.    
#       0       - Подавить вывод любых сообщений.                             
#       1       - Выводить сообщения об ошибках и предупреждения              
#       2       - Выводить все сообщения                                      
#-------------------                                                          
                                                                              
$cfg_verbose = 2;                                                           
  
#-------------------                                                        
# Full path of some external program running from C<fsbackup.pl>.           
# $prog_gzip = "" - not use compression.                                    
# Пути к запускаемым в процессе выполнения бэкапа программам. Рекомендуется 
# не полениться и прописать полный путь к каждой программе.                 
#-------------------       
                                                 
$prog_gzip="/bin/gzip"; # Если равно "", или программа не найдена,          
                         # то не использовать сжатие.                        
                                                                            
############################################################################
if ($cfg_verbose > 1) {$gbak_verbose="-v";};
# Определяем есть ли файл соответствующий $prog_gzip

if ( -f $prog_gzip ) { 
    $add_ext=".gz"; 
    $prog_gzip="stdout | $prog_gzip >";
}
else {
    print "WARRNING: Programm $prog_gzip not found!\n" if ($prog_gzip and $cfg_verbose > 0 );
    $prog_gzip="";
}

#---------------------------------------------------------------------------
# Бэкап указанных баз для InterBase
    foreach (keys %db_list){
        if ( not -f $_){ 
	    print "ERROR: Source file $_ not found!\n" if ($cfg_verbose >0);    
	    next;
        }; 
    print "Dumping $_  in $backup_path/$db_list{$_}...\n" if ($cfg_verbose > 1);

    `$backup_progdump -B $gbak_verbose  $_ $prog_gzip $backup_path/$db_list{$_}$add_ext\n`;
    }







syntax highlighted by Code2HTML, v. 0.9.1