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那就是肯定有人登录服务器了。渣渣脚本,我就不费话了。