"Fossies" - the Fresh Open Source Software Archive

Member "fsbackup-1.2pl2/create_backup.sh" (19 Oct 2007, 3496 Bytes) of package /linux/privat/old/fsbackup-1.2pl2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/bin/sh
    2 # Backup planner running from crontab.
    3 # Скрипт для запуска backup подсистемы из crontab.
    4 #
    5 # http://www.opennet.ru/dev/fsbackup/
    6 # Copyright (c) 2001 by Maxim Chirkov. <mc@tyumen.ru>
    7 #
    8 # Пример строки для crontab:
    9 #
   10 #18 4 * * * /usr/local/fsbackup/create_backup.sh| mail -s "`uname -n` backup report" root
   11 
   12 #--------------------------------------
   13 # Path where fsbackup installed.
   14 # Директория где установлена программа.
   15 #--------------------------------------
   16 
   17 backup_path="/usr/local/fsbackup"
   18 
   19 
   20 #--------------------------------------
   21 # List of fsbackup configuration files, delimited by spaces.
   22 # Directories for saving backup in each configuration file should differ 
   23 # ($cfg_remote_path, $cfg_local_path).
   24 #
   25 # Список файлов конфигурации, разделенных пробелом.
   26 # Директории для сохранения бэкапа в каждом конфигурационном файле
   27 # должны отличаться ($cfg_remote_path, $cfg_local_path), сохранение в одной и
   28 # тойже директории нескольких, описанных разными .conf файлами, бэкапов не 
   29 # допустимо.
   30 
   31 #--------------------------------------
   32 
   33 config_files="cfg_example cfg_example_local cfg_example_users cfg_example_root"
   34 
   35 
   36 #--------------------------------------
   37 # 1 - run mysql_backup.sh script (you need edit mysql_backup.sh first!), 0 - not run.
   38 # Флаг бэкапа MySQL таблиц, запускается требующий предварительной настройки
   39 # скрипт ./scripts/mysql_backup.sh, 1 - запускать, 0 - не запускать. 
   40 #--------------------------------------
   41 
   42 backup_mysql=0
   43 
   44 #--------------------------------------
   45 # 1 - run pgsql_backup.sh script (you need edit pgsql_backup.sh first!), 0 - not run.
   46 # Флаг бэкапа PostgreSQL таблиц, запускается требующий предварительной настройки
   47 # скрипт ./scripts/pgsql_backup.sh, 1 - запускать, 0 - не запускать. 
   48 #--------------------------------------
   49 
   50 backup_pgsql=0
   51 
   52 #--------------------------------------
   53 # 1 - run sqlite_backup.sh script (you need edit sqlite_backup.sh first!), 0 - not run.
   54 # Флаг бэкапа SQLite таблиц, запускается требующий предварительной настройки
   55 # скрипт ./scripts/sqlite_backup.sh, 1 - запускать, 0 - не запускать. 
   56 #--------------------------------------
   57 
   58 backup_sqlite=0
   59 
   60 
   61 #--------------------------------------
   62 # 1 - run sysbackup.sh script (you need edit sysbackup.sh first!), 0 - not run.
   63 # Флаг бэкапа параметров системы, запускается требующий предварительной 
   64 # настройки скрипт ./scripts/sysbackup.sh, 1 - запускать, 0 - не запускать. 
   65 #--------------------------------------
   66 
   67 backup_sys=0
   68 
   69 
   70 
   71 #############################################################################
   72 # Защита от повторного запуска двух копий fsbackup.pl
   73 IDLE=`ps -auxwww | grep fsbackup.pl | grep -v grep`
   74 if [ "$IDLE" != "" ];  then
   75     echo "!!!!!!!!!!!!!!! `date` Backup dup"
   76     exit
   77 fi
   78     
   79 
   80 cd $backup_path
   81 
   82 # Оставил ulimit после тестирования, на всякий случай.
   83 #ulimit -f 512000;ulimit -d 20000;ulimit -c 100;ulimit -m 25000;ulimit -l 15000
   84 
   85 # Сохраняем MySQL базы
   86 if [ $backup_mysql -eq 1 ]; then
   87     ./scripts/mysql_backup.sh 
   88 fi
   89 
   90 # Сохраняем PostgreSQL базы
   91 if [ $backup_pgsql -eq 1 ]; then
   92     ./scripts/pgsql_backup.sh 
   93 fi
   94 
   95 # Сохраняем SQLite базы
   96 if [ $backup_sqlite -eq 1 ]; then
   97     ./scripts/sqlite_backup.sh 
   98 fi
   99 
  100 # Сохраняем системные параметры
  101 if [ $backup_sys -eq 1 ]; then
  102     ./scripts/sysbackup.sh
  103 fi
  104 
  105 # Бэкап.
  106 for cur_conf in $config_files; do
  107     ./fsbackup.pl ./$cur_conf
  108     next_iter=`echo "$config_files"| grep "$cur_conf "`
  109     if [ -n "$next_iter" ]; then
  110     sleep 600 # Засыпаем на 10 минут, даем процессору остыть :-)
  111     fi
  112 done
  113