"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