1、登录数据库服务器并切换到数据库用户下
[root@*** ~]# su - oracle
2、测试用户名密码是否能正确连接数据库
[oracle@*** ~]$ sqlplus username/passwd
3、创建本地每日备份脚本文件exp_day.sh(创建在当前目录下)
[oracle@*** ~]$ vi exp_day.sh
#编辑添加以下内容
date=`date "+%Y%m%d"`
USERID=username/passwd
DMPFILE=/home/oracle/db_backup/backup_备份文件名_$date
LOGFILE=/home/oracle/db_backup/backup_$date
exp $USERID file=${DMPFILE} log=$LOGFILE
4、设置文件执行权限
[oracle@*** ~]$ chmod 755 exp_day.sh
5、创建保存目录
[oracle@*** ~]$ mkdir db_backup
6、执行脚本文件,测试脚本
[oracle@*** ~]$ ./exp_day.sh
脚本正确的话界面会出现数据库对象export过程;
此外,也可通过[oracle@*** ~]$ ls -ltr 命令查看/home/oracle/db_backup目录下是否生成下面的.dmp和.log文件验证:
-rw-r--r-- 1 oracle oinstall 12140544 8月 8 13:50 backup_devmng_20180808.dmp
-rw-r--r-- 1 oracle oinstall 3554 8月 8 13:50 backup_20180808.log
7、创建ftp.sh脚本文件,将上面导出的dmp文件上传到其他服务器,进行异地备份(本地需安装并启动ftp服务)
[oracle@*** ~]$ vi ftp.sh
# 编辑添加以下内容,把本次备份传至备份服务器
date=`date "+%Y%m%d"`
ftp -in <<!
open 10.46.*.* #备份服务器ip
user root 123 #备份服务器用户 密码
bin
lcd /backup/dmp/ #本地待备份文件
cd crm #指定备份服务器目录
mput *$date.dmp
bye
8、上面的异地备份也可以通过scp服务进行
[oracle@*** ~]$ vi scp.sh
# 把本次备份传至备份服务器
date=`date "+%Y%m%d"`
scp backup_备份文件名_$date.dmp(注释:上面的导出文件) 备份服务器用户@备份服务器IP:/back_up/xxx(注释:备份目录)
9、测试异地备份脚本
[oracle@*** ~]$ ./ftp.sh
然后到备份服务器相应目录下查看是否存在;测试完成后删除异地服务器备份文件。
10、将执行脚本文件添加到crontab计划任务中
[oracle@***~]$ crontab -e #说明:-e:编辑该用户的计时器设置;-l:列出该用户的计时器设置
#编辑添加以下内容
02 22 * * * /home/oracle/exp_day.sh # minute hour day month week 指令:分 时 日 月 周 指令
01 23 * * * /home/oracle/ftp.sh # minute hour day month week 指令:分 时 日 月 周 指令
如果oracle用户没有设置相应的环境变量可能会导致脚本文件执行失败,也可以通过下面方式,在root用户下添加crontab计划任务:
[oracle@*** ~]$ exit #切换到root用户
[root@***~]$ crontab -e
#编辑添加以下内容
02 22 * * * su - oracle -c "/home/oracle/exp_day.sh"
=================================================================================================================================
以上就是数据库备份的过程。需要说明的是,本文只是提供一种借鉴方法,可能大家会因系统环境的不同而出现不可预见的问题。后续本文将继续更新和完善,增加对备份文件的压缩和定期删除。
2018-08-0811:30:13
Linux下数据库备份的更多相关文章
-
Linux下数据库备份恢复过程
1. 远程进入Linux服务器. 2. 一般登录的是root用户, 第一步切换到Oracle用户, 命令: su - oracle 3. 查看服务器上面数据库的监听的状况 lsnrctl 之后输入命令 ...
-
Linux下自动备份MySQL数据库并上传到远程FTP服务器
Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...
-
Linux下定时备份MySQL数据库的Shell脚本
Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...
-
Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
-
Linux下mysql备份 恢复
转载自http://blog.chinaunix.net/uid-20577907-id-161611.html 比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldum ...
-
linux c数据库备份第四版
该版本算是比较成熟的啦,欢迎大伙拿来试用!!!1.新增数据库连接和备份时间配置文件conf2.新增日志文件,程序运行的一些异常会记录在log文件下 后续的工作:1.将代码切割为多个文件,分类存放代码2 ...
-
linux c数据库备份第二版
#想知道更多请查看第一版"linux c数据库备份第一版" #include<sys/types.h> #include<sys/wait.h> #incl ...
-
Linux下远程备份、上传工程,重启服务器
Linux下远程备份.上传工程,重启服务器 Linux服务器实现远程,原项目的备份.删除,新项目上传,以及远程重启服务器!分成一个主shell调用三个shell文件步骤完成.mainsh.sh一次按顺 ...
-
Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程
Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程 二 18 奶牛 Linux, Ubuntu, Windows 1,885 views查看评论 最近奶牛一直在折腾linux下的gru ...
随机推荐
-
Python写地铁的到站的原理简易版
Python地铁的到站流程及原理(个人理解) 今天坐地铁看着站牌就莫名的想如果用Python写其工作原理 是不是很简单就小试牛刀了下大佬们勿喷纯属小弟个人理解 首先来看看地铁上显示的站牌如下: 就想这 ...
-
Heap堆的理解以及在IAR中如何设置堆的大小
文章首发于浩瀚先森博客 堆栈的概念在脑海里已经存在有一段时间了,今天就测试来整理下Heap堆.栈以后再说. 堆区不像全局变量和局部变量总是有指定的内存大小,它是为了在程序运行时动态分配内存而设定的一块 ...
-
webapi aspose导出excel表格
API 通过get请求,注意用到一个[FromUri]特性,使GET接收实体参数 /// <summary> /// 导出 /// </summary> /// <par ...
-
[转]MySQL5.5 my.cnf配置参考
主要配置参数转载自: http://www.linuxyw.com/a/shujuku/20130506/216.html 并稍微做了修改MyISAM部分以适应当前的环境 此配置是老男孩生产线上使用的 ...
-
First learning operation system
1,操作系统负责管理硬件资源,为应用程序的开发执行提供基础 2,用户空间包括应用程序,只能通过调用系统调用访问硬件,无法访问更小粒度功能 3,设备驱动程序函数和内核子系统的函数对用户不可见 4,操作系 ...
-
XPath操作XML文档
NET框架下的Sytem.Xml.XPath命名空间提供了一系列的类,允许应用XPath数据模式查询和展示XML文档数据. 3.1XPath介绍 主要的目的是在xml1.0和1.1文档节点树种定位节点 ...
-
自己用 Netty 实现一个简单的 RPC
目录: 需求 设计 实现 创建 maven 项目,导入 Netty 4.1.16. 项目目录结构 设计接口 提供者相关实现 消费者相关实现 测试结果 总结 源码地址:github 地址 前言 众所周知 ...
-
学以致用六---Centos7.2+python3.6.2+django2.1.1 --搭建一个网站
目的,创建django project,开始django web之旅 一.创建一个project 在opt目录下创建一个project [root@gxc opt]# django-amdin. ...
-
Redis总体 概述,安装,方法调用
1 什么是redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset( ...
-
Linux内核跟踪之ring buffer的实现【转】
转自:http://blog.chinaunix.net/uid-20543183-id-1930845.html ---------------------------------------- ...