1.创建shell脚本
#!/bin/sh
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=TDMS
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export DATA_DIR=/tdms1/db/backup/data
export LOGS_DIR=/tdms1/db/backup/logs
export DELTIME=`date -d "7 days ago" +%Y%m%d`
export BAKUPTIME=`date +%Y%m%d%H%M%S`
export ORACLE_DUMP_DIR=/app/oracle/admin/TDMS/dpdump
mkdir -p $DATA_DIR
mkdir -p $LOGS_DIR
echo "Starting bakup..."
echo "Bakup file path $ORACLE_DUMP_DIR/$BAKUPTIME.dmp"
expdp test/test@orcl directory=DATA_PUMP_DIR dumpfile=$BAKUPTIME.dmp log=$BAKUPTIME.log version=11.2.0.1.0
echo "Move backup data to $DATA_DIR ..."
mv $ORACLE_DUMP_DIR/$BAKUPTIME.dmp $DATA_DIR
mv $ORACLE_DUMP_DIR/$BAKUPTIME.log $LOGS_DIR
echo "Delete the file bakup before 7 days..."
rm -rf $DATA_DIR/$DELTIME*.dmp
rm -rf $LOGS_DIR/$DELTIME*.log
echo "Delete the file bakup successfully. "
echo "Bakup completed."
2.添加crontab路径
#crontab -e
0 23 * * * /opt/backup/autoBackup.sh
3.查看定时器状态
crontab -l
备注:
本例中使用expdp命令导出到默认目录后,对备份文件又做了迁移工作,此处是迁移到本机的其他目录中,对于分布式也可以迁移到其他服务器中,可采用命令scp 进行迁移