mirror of
				https://github.com/netscripor/update_mikrotik.git
				synced 2025-10-30 23:37:42 +02:00 
			
		
		
		
	
			
				
					
						
					
					main
				
			
			
		
	📦 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 - управления перезагрузками после обновления  Подходит для одиночных устройств и массового обновления из списка.
						
						
						
					Languages
				
				
								
								
									Python
								
								100%