#!/usr/bin/env python # -*- coding: utf-8 -*- import telebot import config from ping3 import ping import time import Hosts bot = telebot.TeleBot(config.token) response_host = '' def not_available(): cnt = 0 while True: for host in Hosts.host: response_host = ping(host, ) if response_host == None: bot.send_message(config.chat_id, f"{host} ,— хост не доступен") cnt -= 1 time.sleep(3) print('недоступен') if response_host != None and cnt != 2: bot.send_message(config.chat_id, f"{host} ,— хост доступен") cnt += 1 print(cnt) print('доступен') time.sleep(3) else: pass def main_program(): not_available() if __name__ == "__main__": main_program()
Так, дело в том что у меня мало опыта. Вообще я системный администратор. Программа должна работать так: если не пингуется сервер, то телеграм бот отправляет это в мой телеграм- что сервак лёг. Затем если он сам поднялся по какой то причине, отправить один раз! Ну если авария, то сервер может упасть ещё раз, и я хочу что бы он резолвился раз в 15 мин- это просто реализовать с помощью библиотеки тайм/
Блин, только не получается у меня написать код так, что бы отсылалось поднятие сервера один раз, по тому и пишу сюда, вдруг тут есть люди умнее меня) и подскажут как реализовать мой мини проект. В дальнейшем я и смтп приделаю, что бы письма слал…
гуглил много, читал - не могу придумать как…(