Python — Скрипт для перезагрузки устройств Ubiquiti UniFi
Для перезагрузки Ubiquiti UniFi можно использовать подключение по ssh и команду reboot. Достаточно легкая задача, но потребовалось пройтись по всем устройствам.
Скрипт использует модуль paramiko для подключения по ssh, далее в цикле проходится по всем устройствам и отправляет команду на перезагрузку.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
from paramiko import AutoAddPolicy from paramiko import SSHClient import time import datetime ipunifi = ['192.168.10.51', '192.168.11.52', '192.168.12.53', '192.168.13.54', '192.168.14.55', '192.168.15.56', '192.168.16.57'] ssh = SSHClient() ssh.set_missing_host_key_policy(AutoAddPolicy()) for x, ip in enumerate(ipunifi, 1): try: time.sleep(300) ssh.connect(ip, port=22, username='root', password='P@ssW0rd') except: dtn = datetime.datetime.now() logfile = open('LogFailedCon.log', 'a') print(dtn.strftime("%d-%m-%Y %H:%M"), 'Нет связи с unifi ' + ip, file=logfile) logfile.close() print('Нет связи с unifi') else: cmd = 'reboot' ssh.exec_command(cmd) finally: ssh.close() |
Перед подключением происходит задержка в 5 минут — time.sleep(300). В случае если нет связи с устройством, происходит запись в лог файл.