Centos下Oracle数据库定时备份
1、切换oracle用户
# su oracle
在Oracle根目录下创建bin目录(存放备份脚本)和backup目录(存放备份文件)
# mkdir /home/oracle/bin
# mkdir /home/oracle/backup
创建执行脚本backup.sh
# vi /home/oracle/bin/backup.sh
脚本中输入以下内容
[
#!/bin/bash
#刷新环境变量,很重要!!!
source /etc/profile
source ~/.bash_profile
#备份文件存放目录
dir=/home/oracle/backup/
cd $dir
#备份文件命名 YYYY-MM-DD_HH:mm
name=`date +%F_%T`
#备份语句,在服务器上备份用服务名,不能用实例名
exp 用户名/密码@服务名 file=$dir/${name}.dmp owner=用户名
#删除7天前的备份
find $dir -name "*.dmp" -mtime +7 | xargs rm -rf
]
保存退出
给脚本赋予执行权限
# chmod +x backup.sh
2、添加计划任务
# crontab -e
添加以下内容
[
30 23 * * * /home/oracle/bin/backup.sh > /dev/null 2>&1 #每天晚上11点半执行一次,所有输出或错误定向至/dev/null,否则会发送邮件给oracle用户
]
3、重启crontab服务
root权限下执行
# systemctl restart crond
参考文献:https://www.cnblogs.com/leihongnu/p/12612971.html