zoukankan      html  css  js  c++  java
  • Ubuntu用命令行发邮件mutt,报警发短信通知

    在ubuntu下用sendmail有点问题,主题发出去老为空。

    干脆安装mutt和msmtp,通过163的邮件系统发邮件。

    sudo apt-get install mutt,另外需要安装msmtp,一个发邮件的小工具,sudo apt-get install msmtp

    配置mutt

     1、在 /etc/Muttrc 文件里最后加入5行

    set sendmail="/usr/bin/msmtp"
    set use_from=yes
    set realname="mozatmonitor"     ---》发件人显示昵称
    set from=mozatmonitor@163.com     --》发件人地址
    set envelope_from=yes

    -----------------如有编码问题可以尝试在后面加入----

    set charset="utf-8"
    #set send_charset="gb2312"
    set send_charset="utf-8"
    set locale = "zh_CN.UTF-8"
    set content_type = "text/html\;charset=utf-8"

    2、编辑~/.msmtprc,如果这个文件不存在就创建一个,要录属于当前用户和群组,该文件需要600权限,如果不是600权限会无法使用。

    account default
    host smtp.163.com               ---->邮件服务器地址
    from mozatmonitor@163.com    
    auth login                           ------> 认证方式用最傻的login
    user mozatmonitor
    password kkkkkk                    ----->kkkkkk替换成密码
    logfile ~/.msmtp.log

    发送:

    mutt -s "主题" foo@sina.com.cn -a 附件.txt <邮件内容.txt

    多联系人多附件:

    MailList=`cat list.txt`

    /usr/bin/mutt  -s "主题" $MailList -a 附件1 -a 附件2  < hello.txt

     ##报警发邮件

    1、扔脚本在后台导入数据(这个脚本包含计算脚本运行时间):nohup ./import.sh &

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    mozat@DellR410-DB4:~$ cat import.sh   
    #!/bin/bash
        
    BEGINTIME=`date +"%Y-%m-%d %H:%M:%S"`
        
    /usr/local/mysql-5.5.15/bin/mysql  -h 127.0.0.1 -P 3335  -uxxx -pxxxxxx < /home/mozat/xxx.sql
        
    ENDTIME=`date +"%Y-%m-%d %H:%M:%S"`
    begin_data=`date -d  "$BEGINTIME" +%s`    #把当前时间转化为Linux时间
    end_data=`date -d  "$ENDTIME" +%s`
    spendtime=`expr $end_data - $begin_data`  #计算2个时间的差
        
        
    echo "it takes $spendtime sec for dump the data directory"
    echo "it takes $spendtime sec for dump the data directory" >/tmp/dump184_3335mofs2.txt

     2、在crontab中每分钟跑监控脚本,如果发现跑完,就发邮件给139邮件,这样手机就会收到短信。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    mozat@DellR410-DB4:~$ crontab -l
    */1 * * * * /bin/sh  /home/mozat/operation/xx/sendmail.sh
    mozat@DellR410-DB4:~$ cat  /home/mozat/operation/xx/sendmail.sh
    #!/bin/bash
       
    counter=`ps -ef | grep import.sh | grep -v grep |wc -l`
    if [ $counter -eq 0 ]; then
            /usr/bin/mutt -s "back is finished" 13xxxxx@139.com </home/mozat/operation/xx/hello.txt
    else
            echo "the  backup is running now."
    fi
  • 相关阅读:
    单元测试
    软件工程
    使用工具进行单元测试
    关于软件工程的理解
    使用Junit等工具进行单元测试
    目前对软件工程所存在的问题
    二人组-----五子棋
    使用Junit等工具进行单元测试过程记录
    对软件工程的理解以及存在的问题
    软件设计文档及数据流向图
  • 原文地址:https://www.cnblogs.com/vk83/p/3112454.html
Copyright © 2011-2022 走看看