oracle自动备份

1.编辑好sh文档存为/home/oracle/back.sh

 

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export PATH=$HOME/bin:$ORACLE_HOME/bin:$PATH

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export file_path=$(date +%Y-%m-%d)
export file_name=wcm$(date +%H_%M_%S)
mkdir /opt/backup/$file_path
export root_path=/opt/backup/$file_path
touch $root_path/$file_name.log
exp trs/trs@kids21 log=$root_path/$file_name.log  file=$root_path/$file_name.dmp full=y
export file_name=wcmplug$(date +%H_%M_%S)
touch $root_path/$file_name.log
exp trsplug/trsplug@kids21 log=$root_path/$file_name.log file=$root_path/$file_name.dmp full=y
cd $root_path
cd ..
tar -zcvf $file_path.tar.gz $file_path
rm -rf $file_path

find /opt/backup -mtime +30 -exec rm {} \;(自动删除30天前的备份文件)

 

2.#>crontab -e(编辑一个定时任务,不能用其它方式,只能在命令行下面这样输入命令),输入:

      0 2 * * * /home/oracle/back.sh (分为六个域,中间为空格分开)

3.启动定时任务

  #>/sbin/service crond start

 

 

 

 

注意:

有可能执行的结果并没有内容,打包的文件只有100多k,这是因为exp没有执行,并没有导出,环境变量不行需要在.sh文件前面加上:

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export PATH=$HOME/bin:$ORACLE_HOME/bin:$PATH

 

 

 

 

 

其它内容:

rq=`date +"20%y-%m-%d"`
rm /soft/oracle/oradata/old-backup/*
mv /soft/oracle/oradata/backup/* /soft/oracle/oradata/old-backup/
exp kids/manager  file=/soft/oracle/oradata/backup/kids_$rq.dmp log=/soft/oracle/oradata/backup/kids_$rq.log
tar cvfz /soft/oracle/oradata/tmp/Backup_$rq.tar.gz /soft/oracle/oradata/backup

ftp -n<<!
open 202.98.123.139
user wcnftp wcn@ftp.com
binary
lcd /soft/oracle/oradata/tmp/
prompt
mput *
close
bye
!
rm /soft/oracle/oradata/tmp/*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值