#!/bin/bash
DBBACKDIR="/home/oracle/fm/fm_backup"
#数据库数据本机存放位置,根据情况自行修改
LOGDIR="/home/oracle/fm/fm_backup/LOG.txt"
#简单日志输出
#检查备份目录是否存在和是否有读写权限
if [ -f "$LOGDIR" ]; then
#检查日志输出文件
chmod a+w $LOGDIR #设置读写权限
else
touch $LOGDIR
chmod a+w
$LOGDIR
fi
if [ -a "$DBBACKDIR" ]; then #检查数据库备份目录
chmod a+w $DBBACKDIR
#设置权限
else
mkdir -p $DBBACKDIR
chmod a+w $DBBACKDIR
fi
#动态生成当前日期,作为备份文件名中一部分以区分文件
year=`date +%Y`
month=`date +%m`
day=`date +%d`
now=`date +%Y-%m-%d` #获取系统时间
#############备份数据库################
echo "Database backup starts
......" >> $LOGDIR #写日志
cd $DBBACKDIR
su -l oracle -c "exp fmtest/fmtest@gkjrfm
file= $DBBACKDIR/fmwork_cdb_$now.dmp log= $DBBACKDIR/fmwork_$now.log
owner=fmtest statistics=none" #切换到oracle用户,导出数据库
gzip
$DBBACKDIR/fmwork_cdb_$now.dmp #压缩打包数据库备份
find $DBBACKDIR -mtime +7
-type f -name "fmwork*" -exec rm {} \; #删除7天以上的数据库备份数据
echo
"Database backup end!" >> $LOGDIR #写日志
echo "############### END
################" >> $LOGDIR
echo
"
" >> $LOGDIR
原文地址:http://www.cnblogs.com/mxw272618/p/3757095.html