#!/bin/sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
orowner=syepp
bakdata=$orowner"_"$(date +%Y%m%d).dmp
baklog=$orowner"_"$(date +%Y%m%d).log
ordatabak=$orowner"_"$(date +%Y%m%d).tar.gz
bakdir=/u01/app/oracle/oradata/orabak
cd $bakdir
find $bakdir -type f -name "*.dmp" -exec rm -rf {} \; #删除上周的日志和备份文件
find $bakdir -type f -name "*.log" -exec rm -rf {} \;
expdp name/password@SID grants=y file=$bakdir/$bakdata log=$bakdir/$baklog #开始这周的备份(自行进行数据的更换)
#开始进行ftp远程备份
ftp -n <<!
open 43.40.××.×× #开启远程
user name pwd #用户登录(已经创建好FTP用户)
lcd $bakdir #切换到本地备份目录
cd 远程机器所在目录 #这一步如果设置了远程机器上的备份目录为上传文件的默认目录,可以省去
put $bakdata #传递数据库备份文件
put $baklog #传递数据库备份日志
close
bye