目录
oracle使用expdp备份数据库
备份shell脚本
#!/bin/sh
#获取当前时间
backuptime=$(date +%y%m%d)
#数据库备份data_pump_dir目录的绝对路径
dmpdir=/u01/app/oracle/admin/orcl/dpdump
#备份的文件名
dmpname=bk-$backuptime.dmp
#导出日志文件
logname=bk-$backuptime.log
#压缩后的文件
zipname=bk-$backuptime.dmp.zip
expdp 用户名/密码@实例名 directory=data_pump_dir schemas=用户名 dumpfile=$dmpname logfile=$logname
cd $dmpdir
zip -9 $zipname $dmpname
rm -rf $dmpdir/$dmpname
#删除30天以前的文件
find ./ -mtime +30 -name "bk-*" -exec rm -rf {} \;
创建定时任务
推荐linux中使用oracle用户环境执行crontab任务。加入. ~/.bash_profile;是为了获取用户的环境变量,因为在测试中出现expdp命令不能使用的情况。
crontab -e 30 1 * * * . ~/.bash_profile; /bin/sh /home/oracle/autobackuporacle.sh