监听服务端口及邮件报警脚本

本文介绍了一个用于监听特定端口是否开启的bash脚本,并在未检测到指定服务监听端口时,通过Python脚本发送警告邮件。脚本使用netstat命令检查端口状态,若服务未运行,则调用Python脚本向预设邮箱发送通知。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

监听端口脚本

vim /root/dkjc.sh
#!/bin/bash #name:王康
Dk="8000 8080 3306"
while : do for i in $Dk do netstat -anput|grep "LISTEN" |grep $i 1>/dev/null [ $? -eq 0 ] || { /usr/bin/python3 /root/pyth.py 未检测到"$i"服务的监听端口 1>/dev/null sleep 300 } done sleep 60 done

发送邮件脚本

vim /root/pyth.py

#!/usr/bin/env python3
Youxiang = ['wangkang@innovationai.cn','yupanlong1@163.com']              #定义多个发送人
import smtplib
import sys                                                          #外部命令行传参
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header

mail_host = "smtp.exmail.qq.com"
mail_user = "wangkang@innovationai.cn"
mail_pass = "Wk17908"
receivers = Youxiang
message = MIMEText(sys.argv[1], 'plain', 'utf-8')                 #调用参数,将$1为有邮件内容发送出去
subject = u'监听端口警告'
message['Subject'] = Header(subject, 'utf-8')
try:
        smtpObj = SMTP_SSL(mail_host)
        smtpObj.login(mail_user,mail_pass)
        smtpObj.sendmail(mail_user,  receivers, message.as_string())
        print ("邮件发送成功")
except smtplib.SMTPException:
        print ("Error: 无法发送邮件")

 nohup把脚本挂在终端执行

nohup /root/dkjc.sh

 

转载于:https://www.cnblogs.com/ywrj/p/9705839.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值