shell脚本监控URL并自动发邮件
1.安装sendmail:yum install -y sendmail
2.安装mail:yum install -y mail
3.安装mutt:yum install -y mutt
4.启动sendmail:/etc/init.d/sendmail start
5.查看sendmail状态:/etc/init.d/sendmail status
如果出现,证明启动失败,原因为postfix与sendmail冲突。
6.查看postfix状态:service postfix status
7.停止postfix:service postfix stop
8.重启sendmail:/etc/init.d/sendmail restart
9.测试发送邮件:echo 'test' | mail -s 'test' xxx@qq.com
1、监控URL是否返回200.如果返回不是200就发邮件预警,编写一个sheel文件,文件名随便起一个就行,如:web.sh
#!/bin/bash
weblist=
"/alidata/shell/weblist.txt"
myemail=
"admin@qq.com"
for
list
in
`
cat
$weblist|
grep
-E -
v
"#|^$"
`
do
httpcode=`curl -o
/dev/null
-s -w %{http_code}
"$list"
`
httptime=`curl -o
/dev/null
-s -w
"time_connect: %{time_connect}\ntime_starttransfer:%{time_starttransfer}\ntime_total: %{time_total}\n"
"$list"
|
grep
time_total|
awk
-F
":"
'{print $2*1000}'
`
if
[ $httpcode = 200 ]||[ $httpcode = 301 ]||[ $httpcode = 302 ]
then
echo
"$list is checked ok!"
else
echo
"Warning: down !"
echo
"$list is down!"
| mutt -s
"Warning: down !"
$myemail
fi
if
[ $httptime -
ge
10000 ]
then
echo
"$list is timeout!"
| mutt -s
"Warning: timeout !"
$myemail
#else echo "$list is connect ok!"
fi
done
2.创建检查列表:
weblist.txt
http://www.1234.com
3.添加计划任务:
crontab -e
0 */1 * * * /alidata/shell/webcheck.sh
注意:
1.必须先安装mutt, 用来发送邮件:
# yum -y install mutt
# yum -y install sendmail
service sendmail status
service sendmail start
service sendmail restart
service sendmail stop
https://blog.csdn.net/fdipzone/article/details/9181995
https://blog.csdn.net/xianglingchuan/article/details/53896486
https://blog.csdn.net/zzq900503/article/details/50680461
linux命令——mutt的安装和使用【转】 首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。 我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件。更多的用法请查阅官网:http://www.mutt.org 一、mutt的安装 1 yum -y install sendmail
2 #需要安装sendmail并开启防火墙的25端口,如果你需要收邮件110端口也要开
3 yum -y install mutt
二、配置信息 关于配置信息,有一点需要说明的,网上很多教程都说,编辑/root/.muttrc以修改配置文件,我想说的是,我在安装完成之后, /root目录下并没有 .muttrc 这个隐藏文件,你可以从其它地方复制过来,或者自己新建一个文件。这里我是复制的。 你可以通过find命令找到Muttrc这个文件,命令如下 find / -name Muttrc ,然后通过命令 cp /etc/Muttrc /root/.muttrc 复制到 /root 下后更名为 .muttrc ,然后你就可以编辑配置文件了。 复制代码
1 #如果你收到的邮件乱码,设置以下信息
2 set charset="utf-8"
3 set rfc2047_parameters=yes
4 #如果你想自定义发件人信息,需要进行如下设置
5 set envelope_from=yes
6 set use_from=yes
7 set from=root@itdhz.com
8 set realname="itdhz"
复制代码
安装完mutt后,在/usr/share/doc/mutt* 下有一份很好的手册,可以看一下。 三、邮件发送 语 法: mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]
参 数:
-a <文件> 在邮件中加上附加文件。
-b <地址> 指定密件副本的收信人地址。
-c <地址> 指定副本的收信人地址。
-f <邮件文件> 指定要载入的邮件文件。
-F <配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
-h 显示帮助。
-H <邮件草稿> 将指定的邮件草稿送出。
-i <文件> 将指定文件插入邮件内文中。
-m <类型> 指定预设的邮件信箱类型。
-n 不要去读取程序培植文件(/etc/Muttrc)。
-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
-R 以只读的方式开启邮件文件。
-s <主题> 指定邮件的主题。
-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
-x 模拟mailx的编辑方式。
-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。 四、举例 这里我用自己备份网站的一段代码举例加以说明 mutt abc@mail.com -s "itdhz数据备份" -a /home/backup/itdhz.sql </root/readme.txt
或者
echo "test" | mutt abc@mail.com -s "itdhz数据备份" -a /home/backup/itdhz.sql
这段代码表示,发送邮件到abc@mail.com 这个邮箱,邮件主题是“itdhz数据备份”,邮件内容在 /root/readme.txt 中,邮件中包含附件 /home/backup/itdhz.sql。如果要发送多个附件,需要在每个附件前加 -a 参数。 原文:http://www.itdhz.com/post-179.html
CENTOS 使用 MUTT发送邮件
有些时候我们需要在Centos服务器上发送邮件,例如备份MySQL数据库并发送到指定邮箱,这里我们就说下如何从Centos的shell命令发送邮件。
检查、安装、启动sendmail
//检查
ps -ef | grep sendmail //安装
yum install sendmail //启动
service sendmail start //开机启动
chkconfig --level 2345 sendmail on
检查并安装mutt
//检查mutt是否安装, 已安装会返回/usr/bin/mutt
# which mutt //安装mutt
# yum install mutt
配置mutt
- 配置全局mutt, 直接编辑 /etc/Muttrc 文件
- 配置用户级mutt, 复制/etc/Muttrc 到 /当前用户/.muttrc
//为root用户复制.muttrc
# cp /etc/Muttrc /root/.muttrc
配置mutt, 上述两种方法修改方式相同
#设置邮件编码方式
set charset="utf-8" #自定义发件人信息
set envelope_from=yes #这条默认没有,请手动添加
set use_from=yes
set from=xxx.com@xx.com
set realname="Master Lee"
测试发送邮件
//语法
mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]
发送
mutt 1343652445@qq.com -s "测试mutt" -a test.txt < test.txt echo "邮件正文" | mutt 1343652445@qq.com -s"xxxx" -a test.txt
echo 'it is only a test' | mail -v -s "test eamil" 11111@11111.com 测试发邮件
shell脚本监控URL并自动发邮件的更多相关文章
- python连接数据库自动发邮件
python连接数据库实现自动发邮件 1.运行环境 redhat6 + python3.6 + crontab + Oracle客户端 2.用到的模块 3.操作步骤 (1)安装python3.6参考 ...
- Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...
- shell脚本监控网站状态
shell脚本监控网站状态 #!/bin/sh date=`date +"%Y%m%d-%H%M"` title="status" contentFail=&q ...
- Selenium 2自动化测试实战37(自动发邮件功能)
自动发邮件功能 例如,如果想在自动化脚本运行完成之后,邮箱就可以收到最新的测试报告结果.SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到 ...
- 发送邮件的几种方法(C#发邮件 和 js前台实现都有)C#后台自动发邮件 js发邮件
1.后台自动发邮件 1)首先设置邮件参数,这里写在configuration里面 <appSettings> <add key="SMTP" value=&quo ...
- 用shell脚本监控进程是否存在 不存在则启动的实例
用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ]th ...
- PHP自动发邮件
自动发邮件 使用了这个类http://bbs.php100.com/read-htm-tid-121431.html 因他用的php版本较老,用到了函数ereg_replace() 和 ereg() ...
- python自动发邮件库yagmail
#### 一般发邮件方法 我以前在通过Python实现自动化邮件功能的时候是这样的: import smtplib from email.mime.text import MIMEText from ...
- java windows自动化-mail自动发邮件
本文旨在让测试人员了解如何发邮件 发邮件的话,最简单的事是直接手动发邮件,但是在自动化测试中,应做到让机器或者代码来自动发送邮件,笔者大概了解以下几种方法,总有一款口味适合你:1java代码来做下面即 ...
随机推荐
- eclipse使用STS插件 报错:SocketTimeoutException: Read timed out
新建boot项目后,提示: SocketTimeoutException: Read timed out 解决: 在eclipse.ini末尾,追加: -Djava.net.preferIPv4Sta ...
- Python练习六十:网页分析,找出里面的正文与链接
网页分析,找出里面的正文与链接 代码如下: from urllib import request from bs4 import BeautifulSoup request = request.url ...
- 一文彻底明白linux中的selinux到底是什么
https://www.phpyuan.com/235739.html 一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内 ...
- grep常用选项记录
grep: 一.常用选项: -i 不区分大小写针对单个字符 -v 显示不包括查找字符的所有行 -o 只打印出匹配到的字符 -c 显示有多少行被匹配到 -e 可以使用多个表 ...
- my14_mysql指定时间恢复之模拟从库
场景 *********************************线上库数据误删除,存在几天前的一份全备数据,现需要恢复这些误删除的数据本例方案:在另外一台服务器上,恢复全备,搭建binlog ...
- 原生JS实现图片拖拽移动与缩放
看一下最终效果,图片可以拖动,可以缩放 把代码贴出来,可以直接粘贴使用,大致的思想就是鼠标按下的时候获取当时的鼠标位置,要减去left和top值,移动的时候获取位置减去初始的值就得到移动的时候的lef ...
- 晶振电路的设计-AN2867学习
一 石英晶体的等效电路.带宽: FS~FA之间就是并联带宽,越窄稳定性越好.其中Fs.Fa为Lm/Rm/Cm电抗分别为0和无穷大时的谐振频率).Fp为工作频率(通过调整负载电容CL来达到中心频率) 起 ...
- C# IO流 File.Exists,Directory.Exists, File.Create,Directory.CreateDirectory
void Start() { CreateDirectory(); CreateFile(); } //平台的路径(封装起来的一个属性,这不是一个方法) public string path { ge ...
- (转)Linux命令:使用dig,nslookup命令解析域名
Linux命令:使用dig命令解析域名 Linux下解析域名除了使用nslookup之外,开可以使用dig命令来解析域名,dig命令可以得到更多的域名信息. dig的全称是 (domain infor ...
- (转)总结Linux的chattr与lsattr命令详解
PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...