украинский регистратор UH
  • Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Как отправить администратору смс о неработающем Mikrotik Routerboard


    Разбираем созданный скрипт:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    Импортируем необходимые модули:

    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEBase
    from email.mime.multipart import MIMEMultipart
    from email.header import Header
    import email
    import mimetypes
    import os

    Создаем функцию для отправки писем. Имя функции - mail, и она будет принимать значение переменной mail_text (текст письма):

    def mail(mail_text):
    mail_from = 'it-admin@gmail.com' # отправитель
    mail_to = '380684545342@sms.beeline.ua' # Получатель
    mail_subj = 'No WORK!' # заголовок письма
    mail_coding = 'windows-1251

    Параметры SMTP-сервера:

    smtp_server = "smtp.gmail.com"
    smtp_port = 587
    smtp_user = "it-admin@gmail.com" # пользователь smtp
    smtp_pwd = "pass" # пароль smtp

    Формирование сообщения:

    multi_msg = MIMEMultipart()
    multi_msg['From'] = Header(mail_from, mail_coding)
    multi_msg['To'] = Header(mail_to, mail_coding)
    multi_msg['Subject'] = Header(mail_subj, mail_coding)

    msg = MIMEText(mail_text.encode('cp1251'), 'plain', mail_coding)
    msg.set_charset(mail_coding)
    multi_msg.attach(msg)

    Отправка:

    smtp = smtplib.SMTP(smtp_server, smtp_port)
    smtp.ehlo()
    smtp.starttls()
    smtp.ehlo()
    smtp.login(smtp_user, smtp_pwd)
    smtp.sendmail(mail_from, mail_to, multi_msg.as_string())
    smtp.quit()

    Перейдем к редактированию основного скрипта, из которого будет вызываться функция.

    #!/usr/bin/env python

    # -*- coding: utf_8 -*-
    import time

    import subprocess

    Импортируем модуль с новой функцией import nowork_sms

    ip_list = ["192.168.4.1", "192.168.4.2", "10.0.0.25", "10.0.0.26"]

    while 1:

    for ip in ip_list:

    ping = subprocess.call(["ping", "-c 4", ip])

    if ping == 0:

    print u"Все хорошо"

    else:

    print u"Маршрутизатор %s не доступен" % (ip)

    Вызов функции. В ходе выполнения скрипт определяет, какой IP не доступен и вызывает функцию mail подставляя переменную ip, то есть ip Mikrotik Routerboard:

    nowork_sms.mail(ip)

    subprocess.call(["play", "pick2.wav"])

    time.sleep(15)

    В ходе работы скрипт определил, что Mikrotik Routerboard с IP-адресом 10.0.0.25 не доступен и вызвал функцию nowork_sms.mail(ip), подставив в нее значение IP-адреса.

    Перейдя в раздел "отправленные" мы видим, что было отправлено письмо с IP-адресом неработающего Mikrotik Routerboard и в скором времени администратор получит смс.

    Автор: admin, 13 сентября 2011
    Рубрики: OS MikroTik Router, Новости
    Метки: , , , , ,
    украинский регистратор UH
    Есть 1 комментарий. к сообщению: “Как отправить администратору смс о неработающем Mikrotik Routerboard”
    1. kulema:

      Почитать всегда любые статьи нужно полностью интересные поучительные, советую всем

    Написать комментарий

    Последние статьи