linux 下定时备份Oracle数据库

备份Oracle数据库

Linux: cron
cron 命令用来实现定时任务的完成 如每日执行一次的任务 进程
cron 命令是不应该手工启动的 一般情况下 cron 命令在系统启动时就由一
个 shell 脚本自动启动 启动后 cron 命令会搜索/var/spool/cron 目录 寻找
以/etc/passwd 文件中的用户名命名的 crontab 文件 被找到的这种文件将载
入内存 例如一个用户名为 user 的用户它所对应的 crontab 文件就应该是
也就是说 以 该 用 户 命 名 的 crontab 文 件 存 放 在
/var/spool/cron/user
/var/spool/cron 目录下面 cron 命令还将搜索/etc/crontab 文件 这个文件是
用不同的格式写成的 cron 启动以后它将首先检查是否有用户设置了 crontab
文件 如果没有就转入休眠状态 释放系统资源 它每分钟醒过来一次查看
当前是否有需要运行的命令

可以使用 crontab –l 命令查看目前已经存在的 cron 任务

在linux里安装Oracle10G 将会自动有个Oracle 的用户名存在。在/var/spool/cron 建个oracle 里面写

1 20 * * * /home/oracle/databak/bakup.sh > /dev/null 2>&1
0 22 * * * /home/oracle/databak/delbak.sh > /dev/null 2>&1



然后bakup.sh 如下:

#!
#bakup.sh
##系统名称(XX系统)
sysname=gdnyw
syspath=/home/oracle/databak/$sysname/
v_date=$(date '+%Y%m%d%H%M%S')
logfile=$syspath/backup.$v_date.log
echo backup_time>>$logfile
date '+%Y-%m-%d %H:%M:%S' >> $logfile
#数据库使用情况
echo "backup gdnyw">>$logfile
echo "start_time">>$logfile
date '+%Y-%m-%d %H:%M:%S' >> $logfile
cd /home/oracle/product/10.2.0
export ORACLE_HOME=/home/oracle/product/10.2.0
export PATH=$PATH:/home/oracle/product/10.2.0/bin
export ORACLE_SID=EJETDB
echo $syspath
v_date=$(date '+%Y%m%d%H%M%S')
exp gdnyw/gdnywserver file=$syspath/gdnyw$v_date.dmp compress=n >> $logfile
echo "end_time">>$logfile
date '+%Y-%m-%d %H:%M:%S'>>$logfile
#压缩备份的数据文件
gzip $syspath/*.dmp



delbak.sh 如下:

#!
#delbak.sh
##系统名称(XX系统)
sysname=gdnyw
syspath=/home/oracle/databak/$sysname/
find "$syspath" -name "*.gz" -mtime +5 -exec rm {} \;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值