Скрипт инсталяции скрипта бэкап базы ORACLE в крон.

Сегодня мне для работы понадобилось написать скрипт для инсталяции скрипта бэкапа в крон.

я написал два скрипта, хотя можно было бы и один, но мне нужно было два. 🙂

Что он делает.

Для начала примем что скрипт находится в директории в которой лежит сам настроенный скрипт бэкапа.

Скрипт создает записи в кроне, чтобы скрипт запускался, причем он создает записи для всех баз данных, которые запускаются автоматом в системе и делает еще бэкап кронтаба до инсталляции, на всякий пожарный.

для dpump

 bash |  copy code |? 
01
#! /bin/bash 
02
 
03
CRONTAB=`which crontab`
04
TMPFILE=/tmp/installrman.tmp
05
DIR=`pwd`
06
USER=`env | grep LOGNAME | awk -F= '{print $2}'`
07
CRONBACK="/tmp/backup_$USER.back"
08
#for Solaris
09
if [ -f /var/opt/oracle/oratab ]
10
then
11
    ORATAB=/var/opt/oracle/oratab
12
fi
13
#for Linux
14
if [ -f /etc/oratab ]
15
then
16
    ORATAB=/etc/oratab
17
fi
18
 
19
echo ""
20
echo "*********************************************"
21
echo "install crontab for backup"
22
echo "*********************************************"
23
echo ""
24
echo "oratab  found :  $ORATAB"
25
$CRONTAB -l > $CRONBACK
26
$CRONTAB -l > $TMPFILE
27
 
28
for SID in `cat $ORATAB | grep :Y | awk -F: '{print $1}'`
29
do
30
    echo "0 0 * * * /usr/bin/perl $DIR/dpump.pl --config=$DIR/dpump.$SID.full.cfg" >> $TMPFILE
31
done 
32
`$CRONTAB $TMPFILE`
33
rm -f $TMPFILE
34
#cat $TMPFILE
35
echo "crontab installed"
36
echo ""
37
echo "********************************************"
38
echo "crontab backuped to $CRONBACK"
39
echo "to restore backup run : $CRONTAB $CRONBACK"
40
echo "********************************************"
41
exit;
42

для RMAN

 bash |  copy code |? 
01
#! /bin/bash 
02
 
03
CRONTAB=`which crontab`
04
TMPFILE=/tmp/installrman.tmp
05
DIR=`pwd`
06
USER=`env | grep LOGNAME | awk -F= '{print $2}'`
07
CRONBACK="/tmp/backup_$USER.back"
08
#for Solaris
09
if [ -f /var/opt/oracle/oratab ]
10
then
11
    ORATAB=/var/opt/oracle/oratab
12
fi
13
#for Linux
14
if [ -f /etc/oratab ]
15
then
16
    ORATAB=/etc/oratab
17
fi
18
 
19
echo ""
20
echo "*********************************************"
21
echo "install crontab for backup"
22
echo "*********************************************"
23
echo ""
24
echo "oratab  found :  $ORATAB"
25
$CRONTAB -l > $CRONBACK
26
$CRONTAB -l > $TMPFILE
27
 
28
for SID in `cat $ORATAB | grep :Y | awk -F: '{print $1}'`
29
do
30
    echo "0 3 * * 6 /bin/bash $DIR/rman_backup_qnap.sh $DIR/$SID.cfg /level0 > $DIR/rman_backup_$SID.log 2>&1" >> $TMPFILE
31
    echo "0 3 * * 1,2,3,4,5,0 /bin/bash $DIR/rman_backup_qnap.sh $DIR/$SID.cfg /level1 > $DIR/rman_backup_$SID.log 2>&1" >> $TMPFILE
32
done 
33
`$CRONTAB $TMPFILE`
34
rm -f $TMPFILE
35
#cat $TMPFILE
36
echo "crontab installed"
37
echo ""
38
echo "********************************************"
39
echo "crontab backuped to $CRONBACK"
40
echo "to restore backup run : $CRONTAB $CRONBACK"
41
echo "********************************************"
42
exit;
43

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA image
*