#2011年9月1日编写,可以直接在root下面运行
#!/bin/bash
. /home/oracle/.bash_profile
#设置变量
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_USER=
export ORACLE_PASSWORD=
export expdir=
export tardir=
export softdir=
export tarsoftdir=
export AppServer=
export date1=`date -d '31 days ago' +%Y%m%d`
export date=`date +%Y%m%d`
export LOG_FILE=/kqbak/backup$date.log
echo "The start time is: "`date` >> $LOG_FILE
#获取linux服务器上磁盘空间大小
export DISK_SIZE=`df -k|grep kqdata |awk '{ print substr($4,1,3) }'` #第四个字符串
export LANG=zh_CN.UTF-8
if [ $DISK_SIZE -gt 50 ]; then
echo DISK_SIZE is $DISK_SIZE over 50|tee -a $LOG_FILE
exit
else
echo DISK_SIZE=$DISK_SIZE|tee -a $LOG_FILE
fi
#开始备份并压缩
su oracle -c "$ORACLE_BASE/product/bin/exp $ORACLE_USER/$ORACLE_PASSWORD full=y file=$expdir/exp.dmp log=$expdir/exp.log"
RSTAT=$? # 上一条命令是否成功
if [ "$RSTAT" = "0" ]
then
echo "exp is ok!" >> $LOG_FILE
else
echo "exp is ERROR!">> $LOG_FILE
fi
/bin/tar -zcvPf $tardir/exp_oa_$date.tar.gz $expdir
#7days
#/bin/tar -zcvPf $tarsoftdir/weaver_$date.tar.gz $softdir
RSTAT=$? # 上一条命令是否成功
if [ "$RSTAT" = "0" ] # 查看上一条命令是否成功
then
echo "tar is ok!" >> $LOG_FILE
else
echo "tar is ERROR!">> $LOG_FILE
fi
/usr/bin/scp -r $tardir/exp_oa_$date.tar.gz root@$AppServer:/kqbak/database
#7days
#/usr/bin/scp -r $softdir/weaver_$filename.tar.gz root@$AppServer:/kqbak/soft
#30days
#/usr/bin/scp -r /kqfile/filesystem/$filen root@$AppServer:/kqbak/kqfile
RSTAT=$? # 上一条命令是否成功
if [ "$RSTAT" = "0" ]
then
echo "Scp IS OK,scp filenamen is "$tardir/exp_oa_$date.tar.gz >> $LOG_FILE
else
echo "Scp is ERROR!">> $LOG_FILE
fi
#/usr/bin/scp -r $LOG_FILE root@$AppServer:/kqbak/DATAOS_$LOG_FILE >>$LOG_FILE
echo "Backup to Hard disk End time is: "`date` >>$LOG_FILE
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7285301/viewspace-706428/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7285301/viewspace-706428/