欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用rundeck调度工具设置发送邮件

程序员文章站 2024-03-20 13:08:52
...

1.配置QQ邮箱发送邮件

1.1开启SMTP服务,获取授权码

使用rundeck调度工具设置发送邮件

1.2选择账户

使用rundeck调度工具设置发送邮件

  • 开启相关服务,生成授权码

2开启sendmail服务和postfile服务

[root@zydatahadoop001 rundeck]# service sendmail stop
[root@zydatahadoop001 rundeck]# chkconfig sendmail off

[root@zydatahadoop001 rundeck]# service postfix start
[root@zydatahadoop001 rundeck]# chkconfig postfix on

如果 postfix start 失败

 [aaa@qq.com ~]# postfix check

postfix: error while loading shared libraries: libmysqlclient.so.16: cannot open

shared object file: No such file or directory [aaa@qq.com ~]# rpm -qa|grep mysql [aaa@qq.com ~]# yum install mysql-libs

3.创建证书

[root@zydatahadoop001 rundeck]# mkdir -p /root/.certs/

[root@zydatahadoop001 rundeck]# echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt

[root@zydatahadoop001 rundeck]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt 

[root@zydatahadoop001 rundeck]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt 

[root@zydatahadoop001 rundeck]# certutil -L -d /root/.certs

[root@zydatahadoop001 rundeck]# cd /root/.certs

4. 在/etc/mail.rc 文件末尾添加以下

set from=自己的aaa@qq.com.com 
set smtp=smtp.qq.com 
set smtp-auth-user=自己的QQ
#授权码
set smtp-auth-password=(自己的授权码) 
set smtp-auth=login
set smtp-use-starttls set ssl-verify=ignore
set nss-config-dir=/root/.certs

注意:等号前后不能有空格。

5. 命令行验证邮件服务

[root@zydatahadoop001 rundeck]# echo hello word | mail -s " title" 自己的QQ@qq.com

此时qq会收到一封邮件
发邮件不带附件

echo -e "`date "+%Y-%m-%d %H:%M:%S"` : The current running $JOB_NAME job num is $RUNNINGNUM in 192.168.137.201 ......" | mail \
-r "From: alertAdmin <QQ@qq.com>" \
-s "Warn: Skip the new $JOB_NAME spark job." ${EMAIL}

发邮件带附件

echo -e "`date "+%Y-%m-%d %H:%M:%S"` : Please to check the fail sql attachement." | mailx \
-r "From: alertAdmin <QQ@qq.com>" \
-a $FAILSQL_MONITOR_CURRENT/merge${CURRENT_TIME_SHORT}.log \ 
-s "Critical:KSSH fail sql." ${EMAIL}
  • 这时候就可以把邮件内容写进sheel脚本,使用rundeck工具进行调度。