Linux数据库备份

一、 编写启动文件

在这里插入图片描述
export ORACLE_HOSTNAME=oracledb
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=ORACLEBASE/product/11.2.0/exportORACLESID=ORCLexportPATH=.:ORACLE_BASE/product/11.2.0/ export ORACLE_SID=ORCL export PATH=.:ORACLEBASE/product/11.2.0/exportORACLESID=ORCLexportPATH=.:ORACLE_HOME/bin:ORACLEHOME/OPatch:ORACLE_HOME/OPatch:ORACLEHOME/OPatch:ORACLE_HOME/jdk/bin:PATHexportLCALL="enUS"exportLANG="enUS"exportNLSLANG="AMERICANAMERICA.ZHS16GBK"exportNLSDATEFORMAT="YYYY−MM−DDHH24:MI:SS"exportLDLIBRARYPATH=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=orowner""orowner"_"orowner""dateTime.dmp #备份数据库名称
baklog=orowner""orowner"_"orowner""dateTime.log #备份执行时候生成的日志文件名称
ordatabak=orowner""orowner"_"orowner""dateTime.tar.gz #最后保存的Oracle数据库备份文件
remotePath=/data/database/backup/blsp/ #上传到远程服务器的路径

cd $bakdir #进入备份目录
mkdir -p $orowner #按需要备份的Oracle用户创建目录
cd $orowner #进入目录
exp bakuser/bakuser/bakuser/bakpass@orsidgrants=yowner=orsid grants=y owner=orsidgrants=yowner=orowner file=bakdir/bakdir/bakdir/orowner/bakdatalog=bakdata log=bakdatalog=bakdir/orowner/orowner/orowner/baklog #执行备份
tar -zcvf $ordatabak $bakdata $baklog #压缩备份文件和日志文件

find bakdir/bakdir/bakdir/orowner -type f -name “.log" -exec rm {} ; #删除备份文件
find bakdir/bakdir/bakdir/orowner -type f -name "
.dmp” -exec rm {} ; #删除日志文件
find bakdir/bakdir/bakdir/orowner -type f -name “*.tar.gz” -mtime +$days -exec rm -rf {} ; #删除7天前的备份(注意:{} \中间有空格)
sshpass -p !QAZ2wsx.? scp bakdir/bakdir/bakdir/orowner/ordatabak10.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 在这里插入图片描述
这样就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值