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  查看服务状态

  

 

 

 

posted @ 2018-07-23 14:29  元墨  阅读(2141)  评论(0编辑  收藏  举报