import os import re import requests # Telegram Configurations bot_token = '949332240:AAHNsQEmCW4it86Esa7F5o07XxwrotSM7s8' chat_id = '-914111351' # Path to the kernel log log_file = "/var/log/kern.log" # File to store last line read last_line_file = "/tmp/last_line_read.txt" # Error message to look for error_msg = "pl2303 ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped:" def send_telegram(bot_token, chat_id, message): send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + chat_id + '&parse_mode=Markdown&text=' + message response = requests.get(send_text) print(response.json()) return response.json() def check_log_file(log_file, error_msg, last_line_file): last_line_read = 0 if os.path.exists(last_line_file): with open(last_line_file, "r") as f: last_line_read = int(f.readline().strip()) with open(log_file, "r") as f: log_lines = f.readlines() # Check if log file was rotated if len(log_lines) < last_line_read: last_line_read = 0 for i, line in enumerate(log_lines[last_line_read:]): if re.search(error_msg, line): with open(last_line_file, "w") as f: f.write(str(last_line_read + i)) return True with open(last_line_file, "w") as f: f.write(str(len(log_lines))) return False if __name__ == "__main__": if check_log_file(log_file, error_msg, last_line_file): send_telegram(bot_token, chat_id, "Error detected: serial2usb")