ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【主机】发送邮件脚本的改进

【主机】发送邮件脚本的改进

原创 Linux操作系统 作者:杨奇龙 时间:2011-08-02 21:09:20 0 删除 编辑
前面的一个需求,需要将获取的csv文件直接拷贝到另一个服务器。
要求:
1 每天执行
2 减少生成的csv文件的累积
3 发送到其他服务器时,要标注文件的产生日期
这里使用了 FILENAME=IM_REPORT_ERRINFO.csv 固定名称,每次生成时覆盖上一次的文件,从而减少生成文件的累积;使用中间tempfile 在复制的时候将源文件拷贝成带有时间的目标文件。
#!/bin/sh
#function: get data from database and keep them in csv mode
#then send the log and the csv file to var $TO
#author: yang qilong
#date: 2011 08 01
TODAY=`date +"%Y_%m_%d_%H%M%S"`
DIR='HUGE_DUMP_DEST'
#FILENAME=IM_REPORT_ERRINFO_$TODAY.csv
FILENAME=IM_REPORT_ERRINFO.csv
SQLCMD='select * from rnd.im_report_errinfo_csv'
LOGFILE=/home/admin/yangql/get_im_report_errinfo.log
TEMPFILE=/tmp/IM_REPORT_ERRINFO_`date +"%Y_%m_%d"`.csv
FROM=qilong.yangql@yangql.com
TO=yangql@163.com

sqlplus / 1>$LOGFILE  2>&1 <
select sysdate from dual;
exec sys.csv.generate('$DIR','$FILENAME','$SQLCMD');
exit;
EOF!

attach_file_list=/arch/$FILENAME
cp $attach_file_list  $TEMPFILE

scp  $TEMPFILE 10.250.2.24:/home/admin/report_ipdiff >>$LOGFILE

/home/oracle/admin/bin/sendEmail -u "`whoami`@`hostname`:$attach_file_list" \
 -m  <$LOGFILE \
 -f $FROM -s 172.18.100.3:25 -t $TO
 
exit 0

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22664653/viewspace-703861/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
MySQL DBA NoSQL DEVOPS

注册时间:2009-10-07

  • 博文量
    1026
  • 访问量
    7721529