Chinaunix首页 | 论坛 | 博客
  • 博客访问: 551188
  • 博文数量: 154
  • 博客积分: 4055
  • 博客等级: 上校
  • 技术积分: 1381
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-01 14:26
文章分类

全部博文(154)

文章存档

2014年(2)

2013年(2)

2011年(2)

2010年(11)

2009年(9)

2008年(35)

2007年(22)

2006年(71)

我的朋友

分类: Oracle

2006-07-21 08:15:03

    最近半个月来,没有做数据库,一直忙于其他事情,突然一忙这边的事情,还多多少少有那么一点点地生硬,不过还好,最近数据库备份的事情还是解决了。
    昨天写了一个数据库自动备份的脚本,等待30秒以后,再ftp到另一个目录下。
   首先作了一个设置环境的脚本ora_env
ORACLE_HOME=/oracle/OraHome;export ORACLE_HOME
ORACLE_SID=MOSS;export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
ORA_NLS32=$ORACLE-HOME/ocommon/nls/admin/data;export ORA_NLS
PATH=.:/usr/ccs/bin:/oracle/OraHome/bin:/usr/ucb:$ORACLE_HOME/bin:$PATH;export PATH
DISPLAY=localhost:0.0;export DISPLAY
NLS_LANG=american_america.zhs16cgb231280;export NLS_LANG
  然后写了一个ftp的脚本
FTP_USER="oracle"
FTP_PWD="gateway"
FTP_HOST="133.193.6.9"
FTP_DATA_DIR="/oracle/back"
STORE_DIR="/oracle/JiFei/"
rq=`date +%y%m%d`
echo $GATE_DATA
export FTP_USER         
export FTP_PWD  
export FTP_HOST 
export FTP_DATA_DIR 
export STORE_DIR
if [[ ${FTP_HOST} = " " ]]
then
 echo 'sorry the machine was not found'
        exit 0
else
        cd ${STORE_DIR}
        ftp -n -i -v << !
                open  ${FTP_HOST}
                user  ${FTP_USER} ${FTP_PWD}
                cd  ${FTP_DATA_DIR}
                lcd  ${STORE_DIR}
                bin
                mget exp$rq.dmp
                bye
!
fi
还有一个ora_back的脚本
!/usr/bin/sh
/oracle/bin/./ora_env
rq=`date +%y%m%d`
ORACLE_SID=MOSS; export ORACLE_SID
ORACLE_HOME=/oracle/OraHome;export ORACLE_HOME
PATH=.:/usr/ccs/bin:/oracle/bin:$ORACLE_HOME/bin:/usr/ucb:$PATH;export PATH
/oracle/OraHome/bin/exp buffer=50000 indexes=y rows=y constraints=y feedback=6000 compress=N file=/oracle/back/exp$rq.dmp log=/oracle/back/exp$rq.log
#exp file=/oracle/back/exp$rq.dmp log=/oracle/back/exp$rq.log parfile=/oracle/exp.txt
sleep 30
ftp_file
备份以后需要等待30秒然后再ftp到另一个目录
root用户付给他们权限
chmod 755 ora_env
chmod 755 ora_back
chmod 755 ftp_file
再用crontab 工具定时自动运行ora_back脚本
crontab -e 编辑脚本    crontab -l查看定时脚本
我修改的是root的脚本
30 0 18 * * /oracle/bin/ora_back
现在已经ok了,呵呵
有什么疑义,请msn 联系
 
阅读(865) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~