shell 官网http状态之发送邮件

先下载SendEmail : http://caspian.dotconf.net/menu/Software/SendEmail/
解包看readme安装SendEmail

#!/bin/bash
email_reciver=782679034@qq.com
#发送者邮箱
email_sender=782679034@qq.com
#邮箱用户名
email_username=782679034@qq.com
#邮箱密码
#使用qq邮箱进行发送需要注意:首先需要开启:POP3/SMTP服务,其次发送邮件的密码需要使用在开启POP3/SMTP服务时候腾讯提供的第三方客户端登陆码。
email_password=******************
#email_psasword=******************

#smtp服务器地址
email_smtphost=smtp.qq.com

email_title="公司官网状态"
email_content=`curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null  www.moonx.ai`
currTime=$(date +"%Y-%m-%d %T")
echo $currTime $email_content >> /home/xuehui/email/sendEmail-v1.56/email.log

cd /home/xuehui/email/sendEmail-v1.56
if [[ $email_content -ne '200' && $email_content -ne '000' ]];then
	echo `./sendEmail -f ${email_sender} -t ${email_reciver} -s ${email_smtphost} -u ${email_title} -xu ${email_username} -xp ${email_password} -m ${email_content} -o message-charset=utf-8 -o tls=no` >> /home/xuehui/email/sendEmail-v1.56/email.log
fi
#参考
#https://www.jianshu.com/p/6a7e764192bd
#https://www.cnblogs.com/fjping0606/p/6774348.html #版本不兼容,增加参数-o tls=no 选项
#https://blog.csdn.net/u011734144/article/details/54576469 #crontab定时任务不执行的原因,要写绝对路径

定时任务
crontab -e

0 */1 * * * bash /home/xuehui/email/sendEmail-v1.56/jiankong.sh

每小时会测试一下官网状态。

参考
shell 脚本发送邮件
版本不兼容,增加参数-o tls=no 选项
crontab定时任务不执行的原因
crontab语法规则

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins 是一个流行的开源持续集成/持续部署 (CI/CD) 工具,它提供了丰富的插件生态系统来扩展其功能。其中一个常见的需求是通过邮件通知团队关于构建的状态,这可以通过使用 Jenkins 的 Email Extension 插件来实现。 **Jenkins Email Extension插件:** 这个插件允许你在 Jenkins 构建完成后自动发送电子邮件通知,内容包括构建的状态(成功、失败或异常)。发送邮件的前提通常需要使用 Groovy脚本作为构建步骤的一部分,因为 Groovy 是 Jenkins 集成脚本语言,可以方便地与 Jenkins API 进行交互。 **使用Groovy获取Jenkins状态发送邮件:** 1. **安装和配置Email Extension插件:**首先在 Jenkins 管理界面安装并启用 Email Extension 插件。 2. **创建邮件通知步骤:**在你的 Jenkins 建筑流程(Pipeline)中添加一个 "Execute Shell" 或 "Script" 类型的步骤,编写 Groovy 脚本来获取当前构建的状态。例如: ```groovy def buildStatus = currentBuild.result ``` `currentBuild.result` 返回当前构建的结果,如 "SUCCESS", "FAILURE", 或者 "UNSTABLE"。 3. **设置邮件内容:**根据 `buildStatus` 变量决定邮件内容,比如如果状态是 "SUCCESS",邮件可以写明 "构建已成功"。 4. **调用发送邮件方法:**使用插件提供的 API(如 `sendEmail()` 函数),传入收件人、主题、以及包含状态信息的邮件正文,如下: ```groovy sendEmail recipients: 'team@example.com', subject: "Jenkins构建状态 - ${buildStatus}", body: "构建状态:${buildStatus}" ``` 5. **触发邮件发送:**确保在前面的步骤中获取状态后执行发送邮件的代码,确保邮件只在构建结束时发送。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值