linux操作系统oracle数据库定时备份

Linux 定时任务命令的介绍:

命令:crontab

常用参数:

-l 列出当前用户所有的定时任务。

-e 编辑当前用户定时任务

-d 删除当前用户的定时任务

 

[oracle@dblan ~]$ crontab -l
0,15,30,45 * * * * /home/oracle/app/oracle/product/11.2.0/dbhome_1/ccr/bin/emCCR -cron -silent start
0 3 * * 0 /oradata/rmanbak/script/bak_inc0.sh
0 3 * * 3 /oradata/rmanbak/script/bak_inc1.sh
0 3 * * 1,2,4,5,6 /oradata/rmanbak/script/bak_inc2.sh
0 23 * * 6 /home/oracle/dbback/dbback.sh

定时任务列表内容解析:

*     *     *     *     *      command

分  时   日   月   周     想要执行的命令

 

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

 

例子:

0 23 * * 6 /home/oracle/dbback/dbback.sh

 每周六 23 点 执行备份的命令

 

*表示时间的列可以有多个值     例如:

30 12 1,10,22 * * /home/oracle/dbback/dbback.sh

 每月1、10、22日 12:30  执行备份任务

 

命令介绍到此为止************************************************

 

编写导出脚本

 

#!/bin/sh
if [ -f ~/.bash_profile ];
then
  . ~/.bash_profile
fi

rq=`date '+%Y%m%d%H%M'`
exp "username/password@orcl file=/home/oracle/dbback/$rq.dmp log=/home/oracle/dbback/$rq.log"
zip -m /home/oracle/dbback/$rq.zip /home/oracle/dbback/$rq.dmp /home/oracle/dbback/$rq.log

 导出后进行了dmp和log压缩成一个文件(不保留原文件)

 

将脚本标记为可执行

 

chmod +x dbback.sh

 

编辑定时任务(注意当前用户)

用  crontab -e命令 进行编辑(如果原本就有别的任务,新起一行增加)

[oracle@localhost backup]$ crontab -e
30 23 * * * /home/oracle/dbback/dbback.sh

 

 这样就添加了一个计划,在每天的23点30分运行

 

 

大功告成,祝你好运

 

 

猜你喜欢

转载自yu979735777.iteye.com/blog/2315475