目录
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 选项