网站首页 > 技术文章 正文
简介:本文主要介绍Linux系统中的Oracle数据库进行expdb备份过程,然后测试成功后。再通过Linux系统的计划任务Crontab执行数据库脚本按计划进行备份,设计的内容包括数据备份脚本的编写,计划任务的制作等内容。详细内容包括:
SH脚本程序以下面的行开始:#! /bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。
要使编写脚本可执行:# chmod +x filename 这样才能用./filename 来运行。
Crontab执行备份计划:# crontab –e
用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有:
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
,散列数字
一、登录linux系统
二、查看数据库版本
三、编写数据库备份脚本
#!/bin/bash
#source ~/.bash_profile
days=$(date '+%Y%m%d')
#echo $days
echo off
expdp username/password directory=dumpdir dumpfile=orcl_$days.dmp logfile=orcl_$days.log schemas=*** compression=ALL
cd /data/dumpdir
# tar命令打包并删除原文件
tar -zcvf ***_$days.tar.gz ***_$days.dmp ***_$days.log --remove-files
# 保留一个星期的备份文件
find /usr/local/backup -name "*.tar.gz" -mtime +7 -exec rm {} \;
echo 任务完成!
四、制订备份计划
1、计划任务管理CRON
Linux系统经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,可以在以下文件夹内找到相关配置文件,一般以root用户登陆并执行# crontab –e所生成的计划任务存放在/var/spool/cron/ 目录下。
/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名;
/etc/crontab 这个文件负责调度各种管理和维护任务;
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本;
还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
2、执行计划任务指令# crontab –e编写备份任务
执行指令# crontab -u username -e
编写计划任务脚本如下:
30 22 * * * /usr/local/backup.sh
备注:上述计划任务意为每天晚上10:30执行/usr/local/backup/backup.sh备份脚本。
格式说明:第1列为分钟,0~59;第2列为小时,0~23;第3列为日期,1~31;第4列为月份,1~12;第5列为星期,0~7(0和7表示星期天);第6列为要运行的命令(如果有多个命令用 && 隔开)。
3、其他crontab命令
crontab命令格式如下:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
备注:命令参数
-u user:用来设定某个用户的crontab服务,例如,“-u xyz”表示设定xyz用户的crontab服务,此参数一般有root用户来运行。
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
4、执行备份脚本进行测试
执行指令# sh backup.sh进行备份测试。如下图
猜你喜欢
- 2025-07-21 Navicat实现 MYSQL数据库备份图文教程
- 2025-07-21 RMAN备份监控及优化总结(rman备份是物理备份么)
- 2025-07-21 五个在线备份解决方案及优势分析(在线备份软件)
- 2025-07-21 备份基础知识:文件、数据库和操作系统的保护
- 2025-07-21 一文掌握怎么利用Shell+Python实现多数据源的异地备份程序
- 2024-10-25 Windows 操作系统利用数据泵备份与恢复Oracle数据库
- 2024-10-25 小实验彻底搞清楚oracle控制及参数文件何时会自动备份
- 2024-10-25 系统方案合集-任务计划批处理文件备份数据库
- 2024-10-25 oracle备份批处理文件,保存最近一周文件
- 2024-10-25 Oracle Rman 备份实操讲解 oracle rman备份原理
你 发表评论:
欢迎- 620℃几个Oracle空值处理函数 oracle处理null值的函数
- 612℃Oracle分析函数之Lag和Lead()使用
- 601℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 597℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 593℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 584℃【数据统计分析】详解Oracle分组函数之CUBE
- 574℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 562℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)