Linux shell crontab expdp 定时任务逻辑备份

创建sh脚本

[[email protected] ~]$ vi logicbackup.sh

添加脚本内容

#!/bin/sh
# ##################################################################
#             Powered by Ironfo
# ##################################################################
# Oracle Environment settings
ORACLE_BASE=/usr/local/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;  export ORACLE_HOME
PATH=$ORACLE_HOME/bin:/usr/local/bin:/usr/ccs/bin:$PATH:/usr/sbin
export PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib ; export CLASSPATH
backup_dir=/usr/local/oracle/admin/orcl/dpdump
#可以创建数据泵目录directory,这里指定默认的目录
#SQL>CREATE DIRECTORY dump_backup_dir as ‘/u01/oradata/dump_backup_dir‘;
#SQL>grant read,write on directory dump_backup_dir to user;
DMP_FILE=PH_$(date +%Y%m%d_%H%M%S).dmp
LOG_FILE=PH_$(date +%Y%m%d_%H%M%S).log
#
#  Let‘s start with an export of the database
expdp user/[email protected] schemas=schema_name DUMPFILE=$DMP_FILE logfile=$LOG_FILE compression=all;
#expdp user/[email protected] schemas=schema_name DIRECTORY=$dump_backup_dir DUMPFILE=$DMP_FILE logfile=$LOG_FILE compression=all parallel=3;
# 这里的2个说明,用户名和密码换成自己的,我这里是备份表空间。
# parallel 这个参数是控制并行度的,默认是1,但对于数据库比较大的时候,可以设置parallel,这样可以较少备份的
#时间,但是设置并行会耗CPU 资源,如果CPU 资源比较紧张的话,就不要设了。
#
# Just to be safe (with space), we‘ll compress the export file
# 压缩dmp 文件,较少对空间的占用
#compress *.dmp

#
# Let‘s delete the backups and logs that are more than 1 days old
# 删除2天前PH_开头的dmp文件
#
cd $backup_dir
find $backup_dir -mtime +2 -name "PH_*"  -exec rm -f {} \;
# That‘s all

:wq 保存并退出

添加定时任务

[[email protected] ~]$ crontab -e
#每6小时执行一次 错误信息将输出到 tmp/expdp.log 文件中
* */6 * * * /home/oracle/logicbackup.sh > /tmp/expdp.log 2>&1

查看任务

[[email protected] ~]$ crontab -l
* */6 * * * /home/oracle/logicbackup.sh > /tmp/expdp.log 2>&1
[oracle@localhost ~]$ 
crontab -r 删除定时任务

Linux下crontab的使用

时间: 2024-12-21 13:07:07

Linux shell crontab expdp 定时任务逻辑备份的相关文章

linux利用crontab执行sqldump 定时备份数据库

linux利用crontab执行sqldump 定时备份数据库 : #!/bin/bash var=`date +%Y%m%d` /usr/local/mysql/bin/mysqldump  --databases core|gzip >/apps/sqldump/bak/core${var}.gz /usr/local/mysql/bin/mysqldump  --databases access_service|gzip > /apps/sqldump/bak/access_servic

linux shell简单实现数据库自动备份

以centos系统为例,实现数据库自动备份.1.写一个shell: 12 #! /bin/bashmysqldump -cp --user=root --password='123' dbName | gzip > ~/db/dbName-`date +%Y%m%d%H`.sql.gz ; 上述shell中,root是备份时使用的用户名,123是密码,dbName是要备份的数据库的名称.把这个文件放在用户目录下,保存路径为:~/db/dbBackup.sh 保存结束后添加执行权限:chmod a

Linux Shell脚本之Gitlab远程备份

注:Gitlab是一个git服务程序,有web图形界面和一系列管理工具,具体详细介绍可以Google it. 这一篇可以说是上一篇<Linux Shell脚本之Atlassian confluence远程备份方法>的姊妹篇.其说明和原理是和上一篇是一样的,其核心原理都是core dump.scp.ssh和find+rm,但也有不同. 1.Gitlab本身提供了较好的备份方法,只是一个命令那么简单,并且它也支持远程备份(远程存储和云存储),例如它可以存储到aws的s3上. 2.本脚本运行在Git

mysql自动备份脚本,MySQLdump+shell+crontab模式(附备份记录日志)

1.MySQL备份脚本 [[email protected] ~]# mkdir -p /root/data/backup #备份文件存放于此路径下 [[email protected] ~]# vim /root/mysql.back.sh #!/bin/bash backup_path="/root/data/backup" user="root" passwd="123456" dbname="test" host=&q

Linux+Shell获取及拷贝最新备份数据

前面我们介绍了一些脚本配置,今天我们介绍一下,使用Shell脚本如何将指定目录下的最新的文件拷贝到指定目录,我们拷贝前的文件都是压缩文件,而且以备份的日期进行命名的,我们今天介绍两种方式,第一种就是通过文件的最后一次修改时间来判断移动,第二种就是通过获取文件名来进行判断拷贝,具体见下: 我们首先说一下备份脚本,因为我们的源文件是压缩文件,所以介绍一下备份脚本文件: 我们是将/OAFS目录下的ABC目录进行压缩,然后以文件名+日期进行命名 #!/bin/bash SOURCE=/OAFS/WEAV

Linux Shell脚本之利用mysqldump备份MySQL数据库(详细注解)

设计该脚本的一些设计.编写考虑: 该脚本适用于编译安装mysql和通过yum或apt-get等安装方式 该脚本可以反复执行,不会重复覆盖数据 可增加,删除N天前的备份以节省磁盘空间 充分利用mysqldump的自带锁表功能.刷新日志.复制等功能 利用mysqldump命令备份MySQL数据库的脚本(不带注释版,适合生产环境使用) #!/bin/bash MYSQLDBUSERNAME=root MYSQLDBPASSWORD=password MYSQBASEDIR=/usr/local/mys

Linux系统下的定时任务Crontab

什么是Crontab Crontab是Linux系统下的定时任务工具,相当于WIN7系统的任务计划,能够让系统定时做出详见 Cron Crontab能用来做什么 Crontab能用来添加Linux或者Unix系统中的定时任务,让系统定时执行某个命令,比如服务器的数据库需要每天凌晨重启下,不可能每天凌晨起来手动重启.可以用Crontab添加凌晨5点重启数据库的定时任务,系统到每天凌晨5点就会自动重启数据了. Crontab能做的事情还很多,比如定时发送邮件,定时检验库存,定时清理日志,定时备份数据

【linux shell系列--1】crontab命令

摘自:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html 一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务. Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统任务调

mysqldump常用于MySQL数据库逻辑备份

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du