网站首页 > 数据库 / 正文
简介:本文主要介绍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进行备份测试。如下图
Tags:导出数据 oracle
- 上一篇:每天自动备份Oracle数据库
- 下一篇:系统部署-(三)数据库ORACLE数据还原
猜你喜欢
- 2024-11-26 (Oracle 11g)使用expdp每周进行数据备份并上传到备份服务器
- 2024-11-26 Windows 操作系统利用数据泵备份与恢复Oracle数据库
- 2024-11-26 oracle 和 mysql 自动按照日期备份数据库脚本
- 2024-11-26 一起来学习Oracle的备份恢复基础吧-4
- 2024-11-26 VirtualBox 6.0正式发布:支持虚拟机导出至Oracle Cloud架构
- 2024-11-26 Linux新手入门系列:linux下Oracle定时备份
- 2024-11-26 系统部署-(三)数据库ORACLE数据还原
- 2024-11-26 每天自动备份Oracle数据库
- 2024-11-26 如何实现ORACLE数据库直接备份到NAS存储
- 2024-11-26 Linux中的Oracle数据库备份并自动上传到FTP服务器