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

posted @ 2020-11-25 14:52  人生只若初相见  阅读(697)  评论(0编辑  收藏  举报