1、创建三个文件
exp.list 内容:oracle数据库的用户名和密码
name pwd
exp.log 主要用于存储在自动备份数据库时的日志信息
exp.sh
#!/bin/sh #找到数据库的路径 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_OWNER=oracle export ORACLE_SID=orcl export NLS_LANG=American_America.ZHS16GBK export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib #执行路径 cd /home/oracle/dbbackup exptime=$(date +%Y-%m-%d_%H) #读取创建的exp.list文件里的用户名及密码 cat exp.list | while read dbUser dbPasswd do echo $dbUser exp $dbUser/$dbPasswd GRANTS=Y file=$dbUser"_"$exptime.dmp #执行导出 if [ "0" == $? ] then tar -zcvf $dbUser"_"$exptime.dmp.tar.gz $dbUser"_"$exptime.dmp rm $dbUser"_"$exptime.dmp fi done #导出文件名 find . -mtime +6 -name "*.dmp.tar.gz" |xargs rm
2、本脚本加入定时任务里面
crontab -e
30 23 * * 0 /home/oracle/dbbackup/exp.sh >> /home/oracle/dbbackup/exp.log 2>&1
意思是:每星期周日的晚上23时30分执行/home/oracle/dbbackup下的exp.sh脚本,如果脚本执行报错会把错误信息放到exp.log下面。
时间: 2024-10-08 20:21:12