注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

使用 mutt 定时发邮件  

2010-11-25 17:48:23|  分类: RHEL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

        今天学习了使用mutt自动发邮件,觉得 mutt发邮件非常便捷, 下面是一个简单的shell脚本,
通过mutt 和 crontab 定时发邮件,今天发邮件过程中遇到一个问题,就是邮件内容中含有中文,经mutt
发出后,通过foxmail接收邮件后,发现中文变成乱码,而在linux主机上查看文件中的中文能正常显示
后来在网上查了下资料,有两个地方需要设置下字符集,第下个是设置 NLS_LANG 环境变量,第二个是
配置mutt配置文件 .muttrc 设置字符集,问题解决。

--shell脚本

#!/bin/sh
DD=`date +%Y%m%d%H`

export NLS_LANG=AMERICAN_AMERICA.UTF8
export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=devdb
export LOGFILE=/home/oracle/script/tf/devdb.log

if [ $# != 1 ]; then
echo Usage: ./1.sh arg1
echo   Examples:
echo   1. To run s_org_ext_x.sql, enter:
echo  'oad.sh  s_org_ext >s_org_ext_x.out'
exit 0
fi

cd /home/oracle/script/tf

sqlplus "/as sysdba" << EOF
set time on
set echo on
set linesize 150
col sum(prize_num) format 99999999
col PRIZE_UNIT format a30
col PHONE format a20
col award_time format a30
spool ${LOGFILE}
@$1
spool off
exit
EOF

#EMAIL
 . /home/oracle/.muttrc
cat ${LOGFILE} | mutt -s "devdb_again" mailaddr1 mailaddr2 mailaddr3

--award.sql
--统计所有奖品中奖数量----------
SELECT SUM(prize_num),prize_unit
FROM devdb.tbl_award
GROUP BY prize_unit;

--统计所有实物中奖----------
SELECT ar.sky_id ,ar.phone , ar.lottery_prize_id ,ar.prize_num , ar.prize_unit , ar.award_time
FROM devdb.tbl_award ar , devdb.tbl_prize lp
WHERE ar.lottery_prize_id = lp.lottery_prize_id
AND lp.prize_type = 1 ;

--设置配置文件 /home/posgres/.muttrc
set charset = "utf-8"
set locale = "zh_CN.UTF-8"

--加入任务计划
5,35 09-23 * * * /home/oracle/script/tf/1.sh /home/oracle/script/tf/award.sql >/dev/null 2>&1

  评论这张
 
阅读(28748)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016