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 进行迁移