Система автоматического резервного копирования устройств MikroTik с интеграцией с Zabbix и уведомлениями в Telegram.
- 🔄 Автоматическое создание бэкапов MikroTik
- 📊 Интеграция с Zabbix для получения списка устройств
- 🔐 Безопасное хранение учетных данных через макросы Zabbix
- 📱 Отправка отчетов в Telegram
- 🗄️ Хранение истории бэкапов с автоматической очисткой
- 🔒 Опциональное GPG-шифрование бэкапов
- ⚡ Асинхронный режим для параллельного создания бэкапов
- 📝 Подробное логирование всех операций
- PHP 7.0 или выше
- Доступ к Zabbix API
- SSH-доступ к устройствам MikroTik
- Настроенные макросы в Zabbix для каждого устройства
- Composer для установки зависимостей
- Клонируйте репозиторий:
git clone https://github.com/your-repo/mikrotik-backup.git
cd mikrotik-backup
- Установите зависимости:
composer install
- Создайте конфигурационный файл:
cp config/config.php.example config/config.php
- Настройте параметры в config.php:
- URL и учетные данные Zabbix API
- Пути для сохранения бэкапов и логов
- Настройки Telegram (опционально)
- Другие параметры по необходимости
- Создайте пользователя для API с необходимыми правами
- Добавьте макросы для каждого устройства MikroTik:
- {$BACKUP_USER} - имя пользователя для SSH
- {$BACKUP_PASS} - пароль для SSH
# Бэкап всех устройств
php backup.php
# Бэкап конкретного устройства
php backup.php --device="Office Router"
# Бэкап с отправкой отчета в Telegram
php backup.php --report-telegram
# Асинхронный бэкап всех устройств
php backup.php --async
--help, -h
- показать справку--device=DEVICE
- бэкап конкретного устройства--report-telegram
- отправить отчет в Telegram--debug=CATEGORY
- включить отладку (telegram, system, all)--async
- использовать асинхронный режим
Добавьте в crontab для ежедневного запуска:
0 1 * * * /usr/bin/php /path/to/backup.php --report-telegram
/backup/mikrotik/
├── 192.168.1.1/
│ ├── 2025-02-16_192.168.1.1.backup
│ └── 2025-02-15_192.168.1.1.backup
└── 192.168.1.2/
├── 2025-02-16_192.168.1.2.backup
└── 2025-02-15_192.168.1.2.backup
Логи записываются в /var/log/mikrotik_backup.log
и содержат:
- Время операции
- IP устройства
- Статус операции
- Подробности ошибок
- Учетные данные хранятся только в Zabbix
- Поддержка GPG-шифрования бэкапов
- Безопасное хранение конфигурации
- Проверка валидности бэкапов
- Автоматическая отправка по субботам
- Статистика по всем устройствам
- Информация о размерах бэкапов
- Уведомления об ошибках
- Проверьте права доступа:
chmod 755 backup.php
chown www-data:www-data /backup/mikrotik/
- Проверьте логи:
tail -f /var/log/mikrotik_backup.log
- Включите отладку:
php backup.php --debug=all
MIT License. См. файл LICENSE для деталей.