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 [email protected]

# mail -s 今日oracle备份$file.rar [email protected] < /usr/local/cjd/dbback/$file/$file.log

uuencode $file.rar $file.rar | mail -s $file.rar_Oracle备份 [email protected]



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

你可能感兴趣的:(oracle,crontab,ubuntu,exp)