写LINUX shell脚本 自动备份ORACLE用户下的表 保留30天数据

本文介绍了如何使用Linux脚本实现Oracle数据库的定期备份,并结合cron任务自动清理超过30天的备份文件,确保存储空间的有效利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写LINUX脚本 备份ORACLE用户下的表 保留30天数据 

写如下代码back.sh

#取得当天日期
RUNDATE=`date +%Y%m%d`
#放入指定文件夹
SNDDIR
=/usr/local/webapps/bak
#逻辑备份
exp userid
=user/user owner=user file=$SNDDIR/backup.$RUNDATE.dmp
#压缩文件
gzip -f $SNDDIR/backup.$RUNDATE.dmp
#删除30天后文件###
find $SNDDIR/backup.*.dmp.gz -atime +29 -exec rm -f {} ;

 

按照如下代码写一个cron_bak脚本

TERM=vt220;  export TERM
EDITOR
=vi;   export EDITOR
TEMP
=/tmp;   export TEMP
TMPDIR
=/tmp; export TMPDIR

### SETUP ORACLE ENVIRONMENT ###
ORACLE_SID
=ora10; export ORACLE_SID
ORACLE_BASE
=/home/oracle;                    export ORACLE_BASE
ORACLE_HOME
=/home/oracle/product/10.1.0;        export ORACLE_HOME
ORACLE_TERM
=ansi;                            export ORACLE_TERM
JAVA_FONTS
=/usr/share/fonts/zh_CN/TrueType/; export JAVA_FONTS
NLS_LANG
=AMERICAN_AMERICA.ZHS16GBK;          export NLS_LANG
LD_LIBRARY_PATH
=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH
=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH

PATH=.:/usr/local/ant/bin:$ORACLE_HOME/bin:/usr/local/mysql/bin:$PATH
export 
PATH

### FOR ORACLE INSTALL ###
#export LC_ALL="en_US"
#export LC="en_US"

### TOMCAT ###
CATALINA_HOME
=/usr/local/tomcat5; export CATALINA_HOME
CATALINA_BASE
=/usr/local/tomcat5; export CATALINA_BASE

su web -c 
"/usr/local/webapps/bak/back.sh"

 

在切换到ROOT用户下 CRONTAB -E 编辑特定时间运行脚本

任意一天的凌晨3.01分运行下面的脚本

1 3 * * * /usr/local/webapps/bak/cron_bak > /usr/local/webapps/bak/baklog.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值