oracle用expdp方式备份脚本
$ vi /u01/app/backup/bin/bak.sh #!/bin/sh#自己指定环境变量(适合多实例的数据库)
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH:/sbin/
expot LANG=zh_CN.UTF-8
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
#或使用oracle原先.bash_profile文件里环境变量
source /home/oracle/.bash_profile
#上面环境变量二选一即可
timedate=$(date +%Y%m%d%H%M%S)
bakdbname=hb
bakdbpasswd=h1234
dumpbame=hd
bakdbhome=/u01/app/backup
expdp $bakdbname/$bakdbpasswd directory=backDir dumpfile=$dumpbame-$timedate.dmp logfile=$bakdbname-$timedate.log
#方法一、压缩dmp文件,会连接bakdbhome变量的目录及文件一并压缩
zip -r $bakdbhome/$dumpbame-$timedate.zip $bakdbhome/$dumpbame-$timedate.dmp $bakdbhome/$bakdbname-$timedate.log #压缩dmp文件及日志文件
#或用方法二
#若是不加项目路径目录名就切换到存放dmp文件的目录进行压缩即可
cd $bakdbhome
zip -r $dumpbame-$timedate.zip $dumpbame-$timedate.dmp $bakdbname-$timedate.log
find $bakdbhome/*.log -mtime +10 -exec rm -rf {} \;
find $bakdbhome/*.zip -mtime +10 -exec rm -rf {} \;
find $bakdbhome/*.dmp -exec rm -rf {} \;#前面压缩后,删除原dmp文件
cd $bakdbhome #切换到备份文件目录下(这里如果用的方法二的就不在需要在切换目录的了)
ftp -v -n 192.168.6.9
页:
[1]