Лучший способ резервирования WB

Имею WB8 и NAS Synology.

Вопрос как лучше организовать автоматические бэкапы на Synology, позволяющие в случае чего полностью восстановить работу контроллера после полного сброса либо даже после покупки нового. Сино имеет достаточно немаленький арсенал средств резервного копирования, даже не знаю что лучше выбрать и каким способом?

ИИ предлагает опции: rsync, active backup for business, drive client, hyper backup….

Может быть у кого-то есть опыт, какой вариант подойдёт лучше?

Я подумал может быть лучше всего drive client? Он поддерживает версии файлов, было бы удобно хранить версии конфигов и скриптов…

С другой стороны, периодически в саму систему также могут вноситься какие-то изменения… как контролировать, где что поменял, чтобы в случае чего восстановить систему в прежнее состояние?

Вручную вести лог изменений в системе?

Здравствуйте! Сегодня выходной день, поэтому сотрудники техподдержки ответят вам в рабочий день.
Пока что я, автоматический помощник, проанализировал ваш вопрос и постарался найти решение:


Вы используете WB8 и хотите организовать резервное копирование на Synology NAS так, чтобы можно было:

  1. Восстановить текущий контроллер после сброса.
  2. Развернуть конфигурацию на новом контроллере.
  3. Иметь версионирование конфигов и скриптов.

Ниже — практический подход, который обычно применяют для Wiren Board.

1. Что именно имеет смысл бэкапить на WB8

Минимальный “набор для выживания”:

  1. Конфигурация MQTT/виртуальных устройств и правил:
    • /etc/wb-configs/
    • /usr/share/wb-rules/ (стандартные правила, если менялись)
    • /etc/wb-rules/ (ваши пользовательские правила)
  2. Конфиги драйверов / устройств:
    • /etc/wb-mqtt-* (подкаталоги с конфигами драйверов)[1]
  3. Ваши дополнительные сервисы/скрипты:
    • /usr/local/ (если вы туда что-то ставили)
    • /root/, /home/ (если там есть ваши скрипты/данные)
  4. Системные настройки:
    • /etc/ (минимум — ваши изменённые файлы: сеть, NTP, дополнительные службы).
  5. При необходимости — пользовательские базы данных/логика (если что-то ещё крутится локально).

Подробно про структуру см. документацию по контроллерам WB8[1:1].


2. Какой инструмент Synology использовать

С учётом вашей задачи (версии файлов, возможность “откатиться”, редактировать/сравнивать конфиги), самый удобный вариант — Synology Drive Client:

  • Умеет:
    • Версионирование файлов.
    • Удобный просмотр старых версий.
    • Двустороннюю или одностороннюю синхронизацию.
  • Хорошо подходит для текстовых конфигов и скриптов — можно откатить отдельные файлы без полного восстановление образа.

Как вариант:

  • На WB8 создать структуру, например /srv/backup-wb/, а внутри сделать symlink-и на нужные каталоги:
    mkdir -p /srv/backup-wb
    ln -s /etc/wb-configs /srv/backup-wb/wb-configs
    ln -s /etc/wb-rules  /srv/backup-wb/wb-rules
    ln -s /etc/wb-mqtt-* /srv/backup-wb/
    ln -s /usr/local     /srv/backup-wb/usr-local
    ln -s /root          /srv/backup-wb/root
    
  • Настроить Synology Drive Client так, чтобы он синхронизировал /srv/backup-wb на NAS.

Альтернативы:

  • rsync (через задачи в Synology / cron на WB)

    • Просто, прозрачно, можно бэкапить “как есть” структуру.
      − Без “из коробки” версионирования (нужно городить snapshot-ы / копии на стороне NAS).
  • Hyper Backup / Active Backup for Business
    Больше подходит для образов систем и больших серверов. Для контроллера, где важны именно конфиги и скрипты, это избыточно и сложнее восстанавливать точечно.


3. Восстановление “с нуля” или на новый WB

Рекомендуемый подход:

  1. На новом/сброшенном WB:

    • Обновить систему до актуальной версии по инструкции[1:2].
    • Установить те же пакеты, что были (если вы ставили что-то дополнительно: apt install ... — список можно сохранить заранее командой dpkg --get-selections > /srv/backup-wb/packages.list).
  2. Восстановить конфиги и правила:

    • Из Synology (через Drive или руками) вернуть каталоги:
      • /etc/wb-configs
      • /etc/wb-rules
      • /etc/wb-mqtt-*
      • прочие, которые вы включили в бэкап.
    • Перезапустить нужные сервисы или просто перезагрузить контроллер.
  3. Если железо отличается (WB8 → другой WB8 с иным набором модулей), могут потребоваться мелкие правки конфигов (например, порты, адреса устройств).


4. Как отслеживать изменения в системе

Чтобы не вести журнал изменений вручную, удобнее всего использовать git:

  1. Инициализировать репозиторий, например в /srv/backup-wb:
    cd /srv/backup-wb
    git init
    git add .
    git commit -m "Initial config"
    
  2. После любых осознанных изменений:
    git status        # посмотреть, что изменилось
    git diff          # сравнить изменения
    git add .
    git commit -m "Описание изменений"
    
  3. Опционально — настроить remote в виде репозитория на Synology (через SSH или в папке, которую бэкапит NAS).

Таким образом вы получите:

  • Версии конфигов на уровне Synology Drive.
  • Историю изменений и “кто/когда/зачем поменял” — на уровне git.

Если git — “лишний слой”, можно ограничиться одним Drive (у него уже есть версия файлов), но git даёт наглядный diff.


5. Автоматизация бэкапов

  • Synology Drive Client сам по себе отслеживает изменения в реальном времени — дополнительных кронов обычно не нужно.
  • Если выберете rsync, можно на WB8 добавить cron-задание, например:
    crontab -e
    
    */10 * * * * rsync -az --delete /srv/backup-wb/ user@nas:/path/to/backup/wb8
    

Если напишете, какой именно механизм из перечисленных на Synology вы уже используете (Drive у вас, возможно, уже развёрнут для ПК), можно предложить более точную схему под вашу инфраструктуру.

Примечание: Я — искусственный интеллект, а не человек. В моих ответах могут быть неточности.


  1. Wiren Board 8.5 — Wiren Board ↩︎ ↩︎ ↩︎

Мне нравятся ответы “вашего” ИИ, крутая штука.. Я уже получил подобный ответ от Гугла, но как обычно бывает - дьявол кроется в деталях, может есть что-то о чем ИИ “забыл” или не знает каких-то особенностей?

Upd: а вот и нюансики: drive client под Linux вроде нету))

Добрый день.

Использую вот такой механизм.

Вот никогда не пробовал. Обычных архивов - хватает. Очень старые - просто удаляются по времени.

Я просто сравниваю конфиги. Вот беру и на компьютере выполняю, распаковав интересующее.

diff -r /tmp/etc1/wb-mqtt-serial.conf /tmp/etc2/wb-mqtt-serial.conf
255c255
<           "in0_mode" : 6,
---
>           "in0_mode" : 1,

И вижу что и где изменено.
Также можно использовать git, даже проект есть.

В продуктивной, той что реально работает - так и делаю. Поменял что-то - записал.

я дела так Создание базовой настройки для множественного копирования проекта на Wiren Board 7 для среды разработки MasterSCADA 4D — Wiren Board

Это ведь вручную?

Хотелось бы чтобы само.

ИИ говорит следует быть аккуратным по части регулярной записи (архива) в память контроллера, поэтому предлагает делать мув конфигов через условный rsync

Нет, конечно. Скриптом.

Ну, тут как вам удобнее.