chown -R oracle /backup/
##数据库备份文件夹赋予Oracle用户
##crontab -e这个命令,哪个用户使用了它,那么系统就会用那个用户身份执行相关的命令或者脚本。
vi ~oracle/.bash_profile
##对应修改shell文件中的值
crontab -e
30 23 * * * /home/backup/bak.sh
#!/bin/bash
export ORACLE_BASE=对应.bash_profile
export ORACLE_HOME=对应.bash_profile
export ORACLE_SID=对应.bash_profile
export PATH=对应.bash_profile
#获取当前时间
DATE=$(date +%Y%m%d)
#获取7天之前的时间
DATE_RM=$(date -d "7 days ago" +%Y%m%d)
#设置备份目录,
export DIR=/backup/
echo $DIR
#创建日期目录
mkdir $DIR/$DATE
#开始备份,此处采用exp方式导出,根据实际情况可选用expdb数据方式导出
echo 'Oracle backup...'
exp 用户名/密码@orcl file=$DIR/$DATE'/'$DATE'.dmp' log=$DIR/$DATE'/'$DATE'.log'
echo 'Oracle backup successfully.'
echo 'remove...'
rm -rf $DIR/$DATE_RM
echo 'remove successsfully.'