Linux数据库备份

一、 编写启动文件

在这里插入图片描述
export ORACLE_HOSTNAME=oracledb
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME= O R A C L E B A S E / p r o d u c t / 11.2.0 / e x p o r t O R A C L E S I D = O R C L e x p o r t P A T H = . : ORACLE_BASE/product/11.2.0/ export ORACLE_SID=ORCL export PATH=.: ORACLEBASE/product/11.2.0/exportORACLESID=ORCLexportPATH=.:ORACLE_HOME/bin: O R A C L E H O M E / O P a t c h : ORACLE_HOME/OPatch: ORACLEHOME/OPatch:ORACLE_HOME/jdk/bin: P A T H e x p o r t L C A L L = " e n U S " e x p o r t L A N G = " e n U S " e x p o r t N L S L A N G = " A M E R I C A N A M E R I C A . Z H S 16 G B K " e x p o r t N L S D A T E F O R M A T = " Y Y Y Y − M M − D D H H 24 : M I : S S " e x p o r t L D L I B R A R Y P A T H = PATH export LC_ALL="en_US" export LANG="en_US" export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" export LD_LIBRARY_PATH= PATHexportLCALL="enUS"exportLANG="enUS"exportNLSLANG="AMERICANAMERICA.ZHS16GBK"exportNLSDATEFORMAT="YYYYMMDDHH24:MI:SS"exportLDLIBRARYPATH=ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib: /usr/local/lib

dateTime=date +%Y_%m_%d_%H_%M #当前系统时间
days=7 #删除7天前的备份数据s
orsid=‘数据库地址/orcl’ #oralce连接信息
orowner=用户名 # 备份此用户下面的数据
bakuser=用户 #用此用户来执行备份,必须要有备份操作的权限
bakpass=密码 #执行备注的用户密码
bakdir=/oraDataBAK/bakData #备份文件路径,需要提前创建好
bakdata= o r o w n e r " " orowner"_" orowner""dateTime.dmp #备份数据库名称
baklog= o r o w n e r " " orowner"_" orowner""dateTime.log #备份执行时候生成的日志文件名称
ordatabak= o r o w n e r " " orowner"_" orowner""dateTime.tar.gz #最后保存的Oracle数据库备份文件
remotePath=/data/database/backup/blsp/ #上传到远程服务器的路径

cd $bakdir #进入备份目录
mkdir -p $orowner #按需要备份的Oracle用户创建目录
cd $orowner #进入目录
exp b a k u s e r / bakuser/ bakuser/bakpass@ o r s i d g r a n t s = y o w n e r = orsid grants=y owner= orsidgrants=yowner=orowner file= b a k d i r / bakdir/ bakdir/orowner/ b a k d a t a l o g = bakdata log= bakdatalog=bakdir/ o r o w n e r / orowner/ orowner/baklog #执行备份
tar -zcvf $ordatabak $bakdata $baklog #压缩备份文件和日志文件

find b a k d i r / bakdir/ bakdir/orowner -type f -name “.log" -exec rm {} ; #删除备份文件
find b a k d i r / bakdir/ bakdir/orowner -type f -name "
.dmp” -exec rm {} ; #删除日志文件
find b a k d i r / bakdir/ bakdir/orowner -type f -name “*.tar.gz” -mtime +$days -exec rm -rf {} ; #删除7天前的备份(注意:{} \中间有空格)
sshpass -p !QAZ2wsx.? scp b a k d i r / bakdir/ bakdir/orowner/ o r d a t a b a k 10.60.11.78 : ordatabak 10.60.11.78: ordatabak10.60.11.78:remotePath #将备份文件上传到远程服务器 如果不输人密码上传请参考

注意是.sh文件

二、设置定时启动

1、 编写定时执行脚本命令

执行命令:crontab -e

2、按键盘上“a”键,vi界面出现 INSERT后,开始进行编辑操作

3、设置几点启动

  • */1 * * * /tmp/test.sh
    表示每小时执行
  • 23-3/1 * * * /tmp/test.sh
    表示23点到3点每一小时执行一次
    30 20 * * * /tmp/test.sh
    表示每天晚上8点半执行
    10 10 1 * */tmp/test.sh
    表示每月1号10点10分执行操作
    10 10 1 1 */tmp/test.sh
    表示每年1月1号10点10分执行操作
    10 10 * * 1 /tmp/test.sh
    表示每周一10点10分执行操作

4、编辑完毕后,按ESC键,跳到命令模式,然后进行保存退出或不保存退出操作:

保存,不退出vi----------------------- :w
强制保存,不退出vi----------------- :w!
将修改另外保存到file中,但不退出vi(不常用)----------:w file
保存,并退出vi----------------------- :wq 或 :x
强制保存,并退出vi---------------- :wq!
不保存,并退出vi----------------------- :q
不保存,并强制退出vi----------------------- :q!
放弃所有修改,从上次保存文件开始再编辑------------------- :e!

5、查看定时任务

命令:crontab -l 在这里插入图片描述
这样就完成了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值