linuxoracle自动备份脚本

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linuxoracle自动备份脚本
linux oracle自动备份脚本
1、备份脚本:
1#!/bin/sh
2
3export ORACLE_BASE=/home/oracle
4export
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 5export ORACLE_SID=orcl
6export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
7
8export DATA_DIR=/home/bakup/data
9export LOGS_DIR=/home/bakup/logs
10export DELTIME=`date -d "7 days ago" +%Y%m%d`
11export BAKUPTIME=`date +%Y%m%d%H%M%S`
12
13mkdir -p $DATA_DIR
14mkdir -p $LOGS_DIR
15
16echo "Starting bakup..."
17echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp"
18exp shop/lyisABC0987@orcl file=$DATA_DIR/$BAKUPTIME.dmp
log=$LOGS_DIR/$BAKUPTIME.log
19
20echo "Delete the file bakup before 7 days..."
21rm -rf $DATA_DIR/$DELTIME*.dmp
22rm -rf $LOGS_DIR/$DELTIME*.log
23echo "Delete the file bakup successfully. "
24
25echo "Bakup completed."
2、添加到任务调度crontab -u oracle -e
* 3 * * * /home/bakup/bakup.sh
即每天凌晨3点进行备份
如需每天备份多次,可设置不同时间段备份:
例如:* 3,13,18 * * * /home/bakup/bakup.sh,即每天3点、13点、18点进行备份。

说明:文件备份目录,用户oracle必须有更改权限,否则无法备份。

Linux下设置任意用户的Crontab定时任务
最近需要在服务器上部署定时任务,拿到了sudo密码,下面说下布置某用户定时任务的方法
主要是用crontab命令来实现
1.指定用户的crontab文件
sudo touch /var/spool/cron/testuser
crontab -u testuser /var/spool/cron/testuser
2.编辑crontab文件
首先指定编辑器,我这之前默认是用nano,表示不会用,改为了vim sudo select-editor
然后加入定时任务
crontab -e
在文件中加入0 23 * * * bash /home/testuser/test.sh
请注意,这里一定要有权限执行该脚本,并且该脚本里的命令都要有权限执行才可以,否则crontab任务会失效
btw,如果是crontab要执行java程序,需要自己在脚本中将java的环境变量加进去,就像下面这样
#此处引入环境变量,java路径请自行修改
source /etc/profile
JAVA_HOME="/usr/lib/jvm/java-6-openjdk-amd64"
PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME PATH
具体的JAVA目录则根据自己的java路径改好就好3.重启cron服务
sudo service cron restart。

相关文档
最新文档