#!/bin/bash
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1/
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
source /home/oracle/.bash_profile
date=$(date +'%Y-%m-%d')
bakdata=ora"_"$date.dmp
baklog=ora"_"$date.log
ordatabak=ora"_"$date.tar.gz
backdir=/data/ora_back
expdp c##djj/djj grants=y schemas=c##djj directory=ORA_BACK dumpfile=$bakdata logfile=$baklog
cd $backdir
tar -zcvf $ordatabak $bakdata $baklog #压缩备份文件和日志文件
find $backdir -type f -name "*.log" -exec rm {} \; #删除备份文件
find $backdir -type f -name "*.dmp" -exec rm {} \; #删除日志文件
find $backdir -type f -name "*.tar.gz" -mtime +3 -exec rm -rf {} \;
1、首先安装crontab
crontab -e
每天晚上23点40分,执行Oracle数据备份脚本
40 23 * * * /data/shell/ora_databack.sh
crond常用命令
/bin/systemctl start crond
/bin/systemctl stop crond
/bin/systemctl restart crond
/bin/systemctl reload crond
/bin/systemctl status crond