共计 591 个字符,预计需要花费 2 分钟才能阅读完成。
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
:
正文完
星哥玩云-微信公众号