Ubuntu 定时备份oracle数据库实现

最近开发需要在ubuntu里面定时备份oracle数据库的需要,采用cron,具体步骤如下:

1,写好导数据脚本 存放在 /usr/local/cjd/expdb.sh

file=`date +%Y-%m-%d_%H%M%S`
# echo $file
cd /usr/local/cjd/dbback

mkdir $file

# source /home/oracle/.profile -- 不可以,必须定义2个变量如下:
export ORACLE_HOME=/opt/ora10
export ORACLE_SID=orcl

# execute export
${ORACLE_HOME}/bin/exp oa/oa file=/usr/local/cjd/dbback/$file/$file.dmp 2>&1|tee /usr/local/cjd/dbback/$file/$file.log

# execute rar for package
cd /usr/local/cjd/dbback
rar a $file.rar $file

echo 'exp successfully.'>>/usr/local/cjd/dbback/$file/$file.log
echo "今日oracle备份"$file.rar "位于/usr/local/cjd/dbback/"$file/"目录下">>/usr/local/cjd/dbback/$file/$file.log

echo "send mail..."
echo "今日oracle备份"$file.rar "位于/usr/local/cjd/dbback/"$file/"目录下" | mail -s 今日oracle备份$file.rar xxxx@qq.com

# mail -s 今日oracle备份$file.rar xxxx@qq.com < /usr/local/cjd/dbback/$file/$file.log

uuencode $file.rar $file.rar | mail -s $file.rar_Oracle备份 xxxx@qq.com



2,给脚本授权

chmod 777 /usr/local/cjd/expdb.sh

给到处存放目录授权

chmod 777 /usr/local/cjd/dbback


3,写定时任务 crontab -u root -e

00 17 * * 1-5 /usr/local/cjd/expdb.sh #表示 周一至周五 每天 17点运行


4,查看该用户定时任务

crontab -u -l


5,一切完毕。不需要重启 cron.

service cron stop
service cron start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值