Скрипт предназначен для создания бэкапа Entware и автоматической отправки его в группу в Telegram
- Установите curl
opkg install curl
- Скопируйте скрипт к себе в Entware
curl -fsSL https://raw.githubusercontent.com/skarusto/entwarebackup/main/backup.sh -o /opt/backup.sh
- Сделайте скрипт исполняемым
chmod +x /opt/backup.sh
- Любым встроенным редактором в секции #Telegram settings замените значения "YOUR_BOT_TOKEN" и "YOUR_CHAT_ID" на свои, например
nano /opt/backup.sh
- (необязательно) В секции #Router settings замените значение по умолчанию переменной ROUTER_NAME, которая используется при генерации имени файла бэкапа. Замените значение "Keenetic" на своё (напримрер, Keenetic_Dom, Keenetic_Kvartira).
Актуально для владельцев нескольких роутеров, которые хотят хранить их бэкапы в одной телеграм-группе и различать их.
- Создайте бота в Telegram:
- Перейдите в бота @botfather
- Создайте нового бота
/newbot
- Скопируйте его API токен в формате
1234567890:ABCdefGHIjklMNOpqrsTUVwxyz0123456789 - Создайте новую группу в Telegram
- Добавьте в неё любого бота, который умеет показывать информацию с ID (например, @myidbot)
- При добавлении бот пришлёт сообщение с ID чата в формате
-12345687654554
Чтобы скрипт работал корректно, необходимо добавить созданного вами бота в общий чат в Telegram и убедиться, что у него есть права на отправку сообщений.
- Логи бэкапа пишутся в файл
/opt/backup_log.log - API Telegram не даёт отправлять файлы размером более 50 МБ
- Скрипт автоматически выдаст ошибку, если ваш бэкап больше 50 МБ
- В случае успешной отправки файла бэкапа в Telegram он будет автоматически удален из Entware
- Архив, полученный в Telegram, можно использовать для установки Entware на новую флешку. Для этого просто положите его в папку install.
Можно автоматизировать процесс бэкапа с помощью cron
Установите cron
opkg install cron
Проверьте статус службы
/opt/etc/init.d/S10cron status
Если служба не запущена, запустите её
/opt/etc/init.d/S10cron start
После установки cron в /opt/etc будут автоматически созданы каталоги cron.{hourly,daily,weekly,monthly}, для которых уже преднастроено автоматическое выполнение каждый час/день/неделю/месяц.
Переместите backup.sh в нужную вам папку в зависимости от желаемой частоты выполнения бэкапа.