1.编写shell
#!/bin/sh
#本脚本自动备份7天的数据库,每次备份完成后,删除7天之前的数据
#获取当前时间,格式:20150210
DATE=$(date +%Y%m%d)
#获取7天之前的时间,格式:20150203
DATE_RM=$(date -d "7 days ago" +%Y%m%d)
#设置备份目录,根据自己的实际情况进行修改
export DIR=/home/oracle/dbback/dbbackup
echo $DIR
#创建日期目录
mkdir $DIR/$DATE
#user是用户名,password是密码,后面是@是SID,file是生成的备份文件,log是过程记录
exp user/password@ORCL file=$DIR/$DATE'/backup_db_'$DATE'.dmp' log=$DIR/$DATE'/backup_log_'$DATE'.log'
echo 'Oracle backup successfully.'
echo 'remove old datafile...'
#删除七天之前的文件
rm -rf $DIR/$DATE_RM
echo 'remove old datafile successsfully.'
2.给shell文件授权
chmod 777 xx.sh
3.设置crontab
crontab -e
#每晚2点备份
00 02 * * * /home/oracle/dbback/shell/dbback.sh
4.重启crontab
service crond restart
5.查看crontab
crontab -l