Linux自动备份oracle数据库并将备份文件压缩发送指定邮箱

目录

1、创建脚本文件

2、文件授权

3、创建定时任务

4、查看定时任务

5、安装sendEmail


1、创建脚本文件

#!/bin/bash
#备份文件所在目录
bakdir=/home/app/oracle/admin/ora11g/dpdump
echo "beifen start"
su - oracle<<EOF

sleep 5
expdp 账号/密码 directory=DATA_PUMP_DIR dumpfile=备份文件名_`date '+%Y%m%d'`.dmp schemas=表空间 logfile=expdplog.log

cd ${bakdir}/

tar zcvf 备份文件名_`date '+%Y%m%d'`.tar 备份文件名_`date '+%Y%m%d'`.dmp

echo "beifen end"

echo "draft start"

sleep 5
find $bakdir -name "备份文件名*.*" -type f -mtime +14 -exec rm -rf {} \;

echo "draft end"

echo "mail start"

sendEmail -f 发件人邮箱 -t 收件人邮箱 -s smtp.cn -u "Backup email notification" -o tls=no -o message-content-type=html -o message-charset=utf8 -a ${bakdir}/备份文件名_`date '+%Y%m%d'`.tar -xu 发件人邮箱账号 -xp '邮箱密码' -m "邮件内容"

echo "mail end"
exit

注意:编辑完成后需要设置脚本格式,在vi编辑器下输入,如下图所示:

:set ff=unix

2、文件授权

chmod -R 755 /home/dbback.sh

3、创建定时任务

crontab -e
实例: 0 2 * * * /home/dbback.sh

4、查看定时任务

crontab -l

5、安装sendEmail

#下载安装包
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
#创建目录
mkdir -p /usr/local/bin
#解压
tar zxf sendEmail-v1.56.tar.gz -C /usr/src/
#进入解压目录
cd /usr/src/sendEmail-v1.56/
#复制程序到指定目录
cp -a sendEmail /usr/local/bin/
#给执行权限
chmod +x /usr/local/bin/sendEmail
#安装组件
yum install perl-Net-SSLeay perl-IO-Socket-SSL -y

注意:如果perl版本为5.16,需要在脚本文件中增加参数-o tls=no 选项

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值