#!/bin/bash
#set environment variable
export LANG="en_US.UTF-8"
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORACLE_BASE=/opt/Oracle/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
#set backupfile format
backuptime=`date +"%Y%m%d"`
#remove overdue backup
deletetime=`date -d "1 week ago" +"%Y%m%d"`
rm -rf /backup/oracle/CMP/$deletetime
#backup start
cd /backup/oracle
mkdir /backup/oracle/CMP/$backuptime
touch /backup/oracle/CMP/$backuptime/cmp_exp.dmp
touch /backup/oracle/CMP/$backuptime/cmp_exp.log
chmod 777 /backup/oracle/CMP -R
exp C##CMP/123456 BUFFER=64000 FILE=/backup/oracle/CMP/$backuptime/cmp_exp.dmp log=/backup/oracle/CMP/$backuptime/cmp_exp.log OWNER=C##CMP
#compress file
cd /backup/oracle/CMP/$backuptime/
tar -cvf $backuptime.tar cmp_exp.dmp cmp_exp.log
ftp -n<<!
open 192.168.109.64
user root 123456
binary
hash
cd /bakup/201
lcd /backup/oracle/CMP/$backuptime
prompt
mput $backuptime.tar
close
bye
!
上面为脚本文件,可以root登录shell,crontab -e编辑定时任务,执行此脚本,
0 3 * * * /usr/XXX.sh