文档章节

linux服务器登录邮件告警python程序

落叶刀
 落叶刀
发布于 2015/10/01 22:30
字数 344
阅读 274
收藏 23

linux服务器用户登录邮件告警python小程序,一旦有人登录服务器就发邮件通知系统管理员。作为SA有些服务器只有自己可以登录的,你懂的!可有时候会被研发坑,被运维坑。为了全面掌控服务器,配置一个用户登录系统邮件通知,是很必要滴!

比较渣渣的一个脚本,不过在次基础上可以很容易的扩展滴。直接上代码了。

#!/usr/bin/python
#coding:utf8
import smtplib
import string
import psutil
import datetime


HOST = "smtp.qq.com"
SUBJECT = "服务器登录信息"
TO = "xxxx@xx.com"
FROM = "xxxx@xx.com"
starttime = datetime.datetime.now()
text = str(starttime)+"有人登录服务器,请查看"
BODY = string.join((
                   "From: %s" % FROM,
                   "To: %s" % TO,
                   "Subject: %s" % SUBJECT ,
                   "",
                   text
                   ),"\r\n")

users_count = len(psutil.users())
users_list = ",".join([ u.name for u in psutil.users()])
def sendemail(users_count,users_list):
    server = smtplib.SMTP()
    server.connect(HOST,"25")
    server.starttls()
    server.login("xxxx@xx.com","password")
    if users_count > 0:
        server.sendmail(FROM, [TO], BODY)
        server.quit()
    else:
        print "program is bak"
if __name__ == '__main__':
    sendemail(users_count,users_list)

主要是利用linux系统自带的python发送邮件模块smtplib,和psutil模块检查系统登录人数。只要大于0那就是肯定有人登录服务器了。渣渣脚本,我就不费话了。










© 著作权归作者所有

共有 人打赏支持
落叶刀
粉丝 41
博文 126
码字总数 107596
作品 2
浦东
运维
私信 提问
加载中

评论(8)

落叶刀
落叶刀

引用来自“王小为”的评论

不错
小薇
小薇
不错
落叶刀
落叶刀

引用来自“溱”的评论

换163邮箱成功了,可能是因为qq邮箱的独立密码
qq企业邮箱是可以的
落叶刀
落叶刀

引用来自“老张大哥”的评论

不错,
谢谢鼓励啊
溱
换163邮箱成功了,可能是因为qq邮箱的独立密码
溱
smtplib.SMTPAuthenticationError: (535, 'Authentication failed')
是什么鬼?
我用的是qq邮箱,pop3和SMTP也开启了
溱
smtplib.SMTPAuthenticationError: (535, 'Authentication failed')
是什么鬼?
我用的是qq邮箱,pop3和SMTP也开启了
老张大哥
老张大哥
不错,
Python 发送 email 的三种方式

Python发送email的三种方式,分别为使用登录邮件服务器、使用smtp服务、调用sendmail命令来发送三种方法 本文原文自米扑博客:Python 发送 email 的三种方式 Python发送email比较简单,可以通...

sunboy2050
2018/10/18
0
0
小简历一份有意思的看看

简 历 基 本 信 息 姓 名 蒋宁 性 别 男 政治面貌 团员 出生日期 1991.11.20 院校专业 计算机网络技术 地 址 北京海淀区菊园东站 电子邮件 591508750@qq.com 联系电话 18211103203 求 职 意 ...

宁宁123韩
2013/10/16
5K
37
1.树莓派3安装archlinux通用配置部分

本文永久地址:https://my.oschina.net/bysu/blog/1560594 安装过程请参考:https://my.oschina.net/bysu/blog/1557801 树莓派3安装archlinux配置web、samba和aria2请参考 买了个树莓派3主要...

不最醉不龟归
2017/11/03
0
0
2018-4-16 16周4次课 zabbix邮件告警

19.12 添加自定义监控项目 ·需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 ·对于第一步,需要到客户端定义脚本 [root@loca...

alexis7gunner
2018/10/30
0
0
如何通过python登陆到单点服务器后,再通过单点服务器去登陆各个路由器?

如上图,我通过secureCRT登录到我们的单点服务器,登陆后显示的是路由器的列表,通过键盘上下键就可以选择到想要登陆的路由器,选择好后按下enter键就可直接登陆上去,然后就可以敲命令了,我...

西域狼王
2017/08/23
24
0

没有更多内容

加载失败,请刷新页面

加载更多

day11

architect刘源源
今天
6
0
论学好Linux系统的超级重要性

不知道各位在日常的工作生活中有没有接触过“rm -rf /*”这个命令,因为这个命令搞出来的事情可还不少呢!前段时间就在一个群里看到了有个小伙子,老板让他去维护一下服务器,这小伙也不太懂...

Linux就该这么学
昨天
6
0
git 使用

1,首先在github配置好信息和仓库,然后在本地进行操作 git init git config user.name 'zhangwuer' git config user.email '56789053@qq.com' 2,与远程分支建立连接 git checkout -b test......

天王盖地虎626
昨天
3
0
git checkout 命令详解

在日常的git操作中,git checkout——检出,是我们的常用命令。最为常用的两种情形是创建分支和切换分支。 在下面的命令中,使用了一些简写,在这里说明一下: git st # git statusgit ci ...

shzwork
昨天
10
0
【Nginx】Nginx多级代理,获取客户端真实请求IP以及每级代理IP

Nginx多级代理,获取客户端真实请求IP以及每级代理IP 如图所示,每一级nginx里的location配置里需要加上对应的配置,最后一级nginx是直接到应用,测试时为了方便,直接用echo模块去测试,打印...

薛定谔的旺
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部