LINUX学习笔记——LINUX下EXP命令全库备份数据库文件
LINUX下EXP命令全库备份数据库文件
1)建立备份目录,目录操作权限授权给Oracle用户
mkdir /backup --创建backup文件夹
cd / --进入cd语句
ls -l --查看文件的信息

id oracle
-- 查看oracle用户信息,授予oracle用户能操作新创建的备份目录
chown -R oracle:oinstall /backup
--授予oracle用户操作权限给备份数据库文件/backup目录
ls -l --查看文件的信息

2)建立备份脚本
su - oracle --切换到Oracle用户下
cd $ORACLE_HOME --进入到Oracle软件安装的主目录;
pwd --查看工作目录(这里输出的是Oracle目录)
cd /backup/ --进入到备份数据库目录/backup 下
vi autobackup.sh --创建一个名字为autobackup.sh的备份数据库的脚本文件

在 vi autobackup.sh中输入以下内容
#!/bin/sh --必须输入
export ORACLE_BASE=/u01/oracle --Oralce软件安装目录
export ORACLE_HOME=$ORALCE_BASE/product/11.2.0/db
--配置Oralce软件的ORACLE_HOME目录
export ORACLE_SID=orcl --配置Oralce数据库实例名
export ORACLE_HOME=/usr/oracle/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
backup_date=`date +%Y%m%d` --创建存放当前日期变量backup_date
backup_dest=$(cd "$(dirname "$0")"; pwd)
--创建存放当前目录变量backup_dest
backup_name=hbjrxy--创建存放备份文件名称
days=30 -- 创建存放多少天变量days
exp hbjrxy/hbjrxy@orcl file=$backup_dest/$backup_name$backup_date.dmp log=$back_dest/$backup_name$backup_date.log owner=hbjrxy
--通过exp命令导出数据库文件,需要修改用户和用户密码
tar -zcvf $backup_dest/$backup_name$backup_date .tar.gz $backup_dest/$back_name$backup_date.dmp $back_dest/$backup_name$backup_date.log
--压缩导出的数据库文件以及日志文件;
find $backup_dest -type f -name "*.log" -exec rm{} \;
-- 删除脚本当前所在文件夹下以.log结尾的文件
find $backup_dest -type f -name "*.dmp" -exec rm{} \;
--删除脚本当前文件所在文件夹下以.dmp结尾的文件;
find $backup_dest -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;
--删除超过指定多少天之前的压缩文件。

3)授权执行权限给备份脚本,执行测试脚本是否编写成功
chmod +x autobackup.sh
--授予创建的备份数据库脚本autobackup.sh文件执行权限
./autobackup.sh --执行编写的备份数据库脚本autobackup.sh文件;
ls -l --执行完毕之后看目录是否有压缩文件生成


4)建议执行任务时间
exit --回到root用户
vi /etc/crontab -- 编辑定时任务文件/etc/crontab
--插入一条执行备份数据库脚本的定时任务:
40 2 * * * oracle /backup/autobackup.sh
--指定的定时任务执行时间是凌晨2点40,用oracle用户执行/backup/autobackup.sh文件

方法二:
crontab -e 编辑定时任务

crontab -l 查看定时任务

crontab -r 删除定时任务

cat /var/log/cron 查看定时任务执行情况
5)重启任务服务
service crond restart
--执行service crond restart 重启定时任务服务使定时任务生效
service rsyslog status 查看服务状态

LINUX学习笔记——LINUX下EXP命令全库备份数据库文件的更多相关文章
- Linux学习笔记:使用ftp命令上传和下载文件
Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹.虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器.SSH.远程会话中掌握命令行ftp的使用 ...
- Linux学习笔记-Linux系统简介
Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...
- linux学习笔记2-linux的常用命令
第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...
- linux学习笔记---一些有趣的命令
一 在说链接之前我们哈需要说明一个东西,就是inode,一个文件的名字可以有多个,但是inode里的i-number却只有一个,(inode是一个数据结构,里面存放文件的各种属性,属主,属组,权限,大 ...
- Linux学习笔记:vi常用命令
在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...
- #Linux学习笔记# Linux系统查看文件内容的命令
1.cat 连结多个文件的内容并显示在屏幕上:如果没有指定文件或文件名为“-”,则读取标准输入.语法如下: cat [option] ... [file] ... 常用的选项有: 选项-n:编号所有行 ...
- Linux学习笔记之权限与命令之间的关系(重要)及文件与文件夹知识总结
一.让使用者能进入某文件夹成为可工作文件夹的基本权限为何: 可使用的命令:比如 cd 等变换工作文件夹的命令. 文件夹所需权限:使用者对这个文件夹至少须要具有 x的权限 额外需求:假设使用者想要在这个 ...
- #Linux学习笔记# Linux文件的所有者、群组和其他人
1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...
- Linux 学习笔记 Linux环境变量初稿
set命令会显示为某个特定进程设置的所有环境变量,但不包括一些没有设置值的默认环境变量 可以通过等号来给环境变量赋值,值可以是数值或字符串 如果要给变量赋一个含有空格的字符串值,必需用单引号来界定字符 ...
随机推荐
- java设置北京时间的时区
java设置北京时间的时区 解决方法: 设置北京时间的时区,消除时间差. TimeZone timeZone = TimeZone.getTimeZone("GMT+8"); ...
- 点击链接,取得href的值,但是不转向
点击链接,取得href的值,但是不转向 $('.list a').click(function (e) { e.preventDefault();//取消事件的默认动作. $.ajax({ ...
- react 生命周期函数的一些心得体会
一.理论 组件本质上是状态机,输入确定,输出一定确定 生命周期的三个阶段,三者时间是不固定的,只是在逻辑上的分类: 二.初始化阶段: getDefaultProps:获取实例的默认属性(即使没有生成实 ...
- WordPress简洁的SEO标题、关键词和描述
WordPress标题.关键词和描述,之所以简洁,那是站在SEO的角度来考虑的. 首先,现在关键词这个标签早已被搜索引擎扔进历史的垃圾堆,所以这个keywords标签已经没用了,不写也罢. 其次,描述 ...
- 【web 安全测试Tools】BurpSuite 1.7.32及注册机【无后门版】
BurpSuite 1.7.32 原版+注册机 下载 链接:https://pan.baidu.com/s/1LFpXn2ulTLlcYZHG5jEjyw 密码:mie3 注意无后门版文件完整性: b ...
- 给.Net Core添加Swagger实现接口文档自动生成
1.添加Nuget相关引用 Swashbuckle.AspNetCore
- 【ARM-Linux开发】使用QT和Gstreanmer 遇到的一些问题
1.如果出现错误,可能是在安装UCT PCRF时,相关组件不全,略举两个碰到的错误. 1)curl/curl.h:No such file or directory --可能原因是libcurl及相关 ...
- jqGrid通过行id获取行对象
$("#jqGrid").jqGrid('getRowData',rowid);
- Asp.Net Core 客户端验证和远程验证
我们先来看这样一个注册页面和它的后台Model @model RegisterViewModel @{ ViewBag.Title = "用户注册"; } <h1>用户 ...
- java--带参方法 递归阶乘
package com.test.day01; // public class TestParam { public void f1(int n){ n =0; } public static voi ...