mirror of
https://github.com/netscripor/update_mikrotik.git
synced 2026-06-20 00:16:00 +02:00
📦 MikroTik Batch Updater
Автоматизированный скрипт для:
- получения информации об установленных обновлениях MikroTik RouterOS
- установки новых пакетов
- обновления прошивки RouterBOARD
- управления перезагрузками после обновления
Подходит для одиночных устройств и массового обновления из списка.
⚙️ Зависимости
Убедись, что у тебя установлены:
pip install netmiko colorama
🗂 Структура
mikrotik_update.py— основной скриптmikrotik_update.log— лог работы (создаётся автоматически)- файл со списком IP (опционально) — по одному IP в строке
🛠 Поддерживаемые режимы
1. Информационный режим (gather)
Проверка текущей версии RouterOS и наличия обновлений:
python3 mikrotik_update.py --mode gather --ip 192.168.88.1 --user admin
Или по списку:
python3 mikrotik_update.py --mode gather --file ip_list.txt --user admin
2. Обновление (upgrade)
Обновляет пакеты, прошивку RouterBOARD и выполняет перезагрузку при необходимости:
python3 mikrotik_update.py --mode upgrade --ip 192.168.88.1 --user admin
Массово:
python3 mikrotik_update.py --mode upgrade --file ip_list.txt --user admin
🔐 Аутентификация
При запуске будет запрошен пароль:
Password:
📑 Примеры вывода
[2025-06-20 17:24:30] 10.111.1.3 — Доступно обновление до 6.49.18. Устанавливаю...
[2025-06-20 17:24:30] 10.111.1.3 — Команда подтверждена. Ожидание перезагрузки...
[2025-06-20 17:26:00] 10.111.1.3 — Устройство снова в сети
[2025-06-20 17:26:01] 10.111.1.3 — Требуется RouterBOARD upgrade: 6.49.13 → 6.49.18
[2025-06-20 17:26:05] 10.111.1.3 — RouterBOARD upgrade выполнен. Отправляю команду на перезагрузку...
🔄 Что делает скрипт
| Этап | Действие |
|---|---|
| 1 | Подключается через SSH (Netmiko) |
| 2 | Проверяет /system package update check-for-updates |
| 3 | При наличии обновлений — запускает установку |
| 4 | При необходимости — подтверждает y |
| 5 | Ждёт возврата устройства после перезагрузки (до 5 минут) |
| 6 | Проверяет /system routerboard print |
| 7 | Если upgrade-firmware > current-firmware, делает upgrade и перезагрузку |
🔒 Безопасность
- Все логины и пароли вводятся вручную и не сохраняются
- Устройства обновляются по очереди, с паузой между ними
- Лог сохраняется в
mikrotik_update.log(удобно для аудита)
📌 Советы
- Убедись, что SSH доступ разрешён на всех целевых MikroTik
- Скрипт не удаляет старые логи — можно ротацию настроить вручную
- При ошибках смотри в
mikrotik_update.log
📁 Пример файла ip_list.txt
10.111.1.2
10.111.1.3
192.168.88.1
⚠️ Сейчас скрипт на этапе боевого тестирования на RO v6. Уже обкатан на ~20 точках в проде — работает стабильно, но ещё шлифуется.
📡 Подпишись и поддержи проект:
🔗 GitHub: github.com/netscripor 💰 Boosty: boosty.to/netscripor ✈️ Telegram-канал: t.me/netscripor
⭐️ Поддержи проект звездой 🛠 Нашёл баг или есть идея? Создай Issue!
Description
Автоматизированный скрипт для: - получения информации об установленных обновлениях MikroTik RouterOS - установки новых пакетов - обновления прошивки RouterBOARD - управления перезагрузками после обновления Подходит для одиночных устройств и массового обновления из списка.
36 KiB
Languages
Python
100%