`
keren
  • 浏览: 1554710 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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
0
5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics