Python自动化导出zabbix数据并发邮件脚本


import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
import os
import subprocess
import time
# Zabbix参数
zabbix_server = '192.168.1.100'
zabbix_user = 'admin'
zabbix_password = 'zabbix'
zabbix_export_script = '/usr/lib/zabbix/export_zabbix_data.py'
zabbix_export_output = '/tmp/zabbix_data.csv'
# 邮件参数
smtp_server = 'smtp.example'
smtp_port = 587
smtp_username = 'sender@example'
smtp_password = 'password'
email_from = 'sender@example'
email_to = ['recipient@example']
email_subject = 'Zabbix Data Export'
email_body = 'Please see the attached Zabbix data file.'
# 导出Zabbix数据
subprocess.call(['python', zabbix_export_script, zabbix_server, zabbix_user, zabbix_password, zabbix_export_output])
# 发送邮件
msg = MIMEMultipart()
msg['From'] = email_from
msg['To'] = ','.join(email_to)
msg['Subject'] = email_subject
msg.attach(MIMEText(email_body, 'plain'))
attachment = open(zabbix_export_output, 'rb')
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % os.path.basename(zabbix_export_output))
msg.attach(part)
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(smtp_username, smtp_password)
server.sendmail(email_from, email_to, msg.as_string())
server.quit()
print("Email sent successfully")


上一篇:利用uni-app开发App的超简易教程

下一篇:python正则表达式对字符串的查找匹配


蚂蚁钢琴网 2008-2025 somall.com.cn 皖ICP备2023010105号
大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器
钢琴调律 钢琴调音 钢琴调律价格
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!
违法和不良信息24小时举报热线:18056540210