CentOS7自动备份oracle数据库
1、环境
操作系统:CentOS 7
数据库:11.2.0.1.0
2、登录服务器
切换oracle用户,备份需要在oracle用户下进行
#su - oracle
在oracle家目录下创建bin目录(存放备份脚本)和backup目录(存放备份文件)
#mkdir /home/oracle/bin
#mkdir /home/oracle/backup
创建backup.sh脚本
#vim /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
3、添加计划任务
#crontab -e
添加内容:
[
30 23 * * * /home/oracle/bin/backup.sh > /dev/null 2>&1 #每天晚上11点半执行一次,所有输出或错误定向至/dev/null,否则会发送邮件给oracle用户
]
4、重启crond服务
切换到root
#systemctl restart crond
测试效果(为检验效果计划任务设置了5分钟执行一次【*/5 * * * * /home/oracle/bin/backup.sh > /dev/null 2>&1 】):
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了