Blog
January 5
Автоматический бекап роутера на Яндекс Диск
OpenWRT — мощная операционная система для роутеров, но её настройка требует времени. Чтобы не потерять конфигурацию при сбоях или обновлениях, написал скрипт для автоматического резервного копирования на Яндекс Диск с уведомлениями в Telegram.
Репозиторий: OpenWRTBackupScript на GitVerse
Описание проекта
OpenWRTBackupScript — shell-скрипт для автоматического создания бекапов конфигурации OpenWRT роутеров с загрузкой на Яндекс Диск.
Возможности
- Создание бекапов через
sysupgrade -b - Прямая загрузка на Яндекс Диск через rclone
- Хранение только последних 3 бекапов в облаке
- Уведомления в Telegram об успешности/ошибках
- Автоматическая очистка временных файлов
- Простая настройка прямо в скрипте
Установка
Шаг 1: Установка rclone на OpenWRT
# Подключитесь к роутеру ssh root@192.168.1.1 # Обновите список пакетов opkg update # Установите rclone opkg install rclone # Проверьте установку rclone --version
Шаг 2: Настройка rclone для Яндекс Диска
rclone config
Следуйте инструкциям для настройки подключения к Яндекс Диску.
Шаг 3: Копирование скрипта на роутер
# Подключитесь к роутеру ssh root@192.168.1.1 # Создайте папку и скачайте скрипт mkdir -p /root/scripts curl -o /root/scripts/router-backup.sh https://gitverse.ru/api/repos/tatarinovms/OpenWRTBackupScript/raw/branch/master/router-backup.sh # Сделайте исполняемым chmod +x /root/scripts/router-backup.sh
Шаг 4: Настройка Telegram (опционально)
Получение Chat ID: Перейдите по ссылке: https://api.telegram.org/bot[ТОКЕН]/getUpdates и найдите поле "chat":{"id":
Шаг 5: Настройка скрипта
Отредактируйте конфигурацию в начале файла:
vi /root/scripts/router-backup.sh
# rclone settings RCLONE_SERVICE="yandex" # Название вашего rclone сервиса YANDEX_PATH="Backup/router" # Папка на Яндекс Диске # Telegram settings (опционально) TELEGRAM_BOT_TOKEN="" # Токен бота (пусто — отключить уведомления) TELEGRAM_CHAT_ID="" # Chat ID (пусто — отключить уведомления)
Шаг 6: Ручной запуск
/root/scripts/router-backup.sh
При успехе бекап появится на Яндекс Диске и придёт уведомление в Telegram.
Шаг 7: Автоматизация через cron
crontab -e # Добавьте строку (каждый понедельник в 10:00) 0 10 * * 1 /root/scripts/router-backup.sh >/dev/null 2>&1 # Перезапустите cron /etc/init.d/cron enable /etc/init.d/cron restart
Примеры уведомлений
✅ OpenWRT Backup Completed 📁 File: router-backup-2025-12-13-1430.tar.gz 📍 Location: yandex:Backup/router/router-backup-2025-12-13-1430.tar.gz 🕐 Time: 2025-12-13 14:30:00
❌ OpenWRT Backup Failed 🚫 Error: Failed to create backup 🕐 Time: 2025-12-13 14:30:00