Как сделать полноценную резервную копию WB6

Самое важное – иметь копию /mnt/data. Там хранятся все настройки контроллера, которые вы делаете через web-интрефейс, например, домашняя директория пользователя root. Если вы ничего дополнительно не устанавливали /не меняли на контроллере, то восстановления этой директории пофайлово будет достаточно для работы и на этом контроллере (например, после перепрошивки).

В реальной жизни, если после резервной копии на контроллере обновилось много софта, какие-то конфиги могут не подходить для нового ПО. Небольшая вероятность есть.

Так же можно отдельно забэкапить свои скрипты, конфиги дополнительно установленных пакетов. В 99% случаев это поможет восстановить контроллер.

Копирование отдельных разделов диска и их восстановление по методу, описанному Flagman, скорее всего сработает, но на том же самом контроллере. На другом экземпляре (а тем более модели) – скорее всего нет.

Если вы захотите перенести настройки с wb5 на гипотетический wb7, то надо будет вдумчиво копировать файлы по одному, либо переносить вручную куски файлов настроек. Аппаратно эти модели будут сильно различаться, а, следовательно, конфигурационные файлы не подойдут.

Нет, к сожалению, такого простого совсем средства типа “верни как было”. А тем более “сделай новый контроллер таким, чтобы он работал как старый”.

Что касается свойств файлов, которые поддерживаются только в Linux, то можно, да, отформатировать флешку в ext4, например. Но Если вы упакуете директорию в архив:

tar cvf mnt_data.tgz /mnt/data/*
то полученный файл архива mnt_data.tgz можно скопировать на флешку с любой файловой системой – архиватор позаботится об атрибутах.

понятно.
Как я понял, еще потребуются шаблоны девайсов, они в другой директории. Может, еще что-то забыли?
Скажите, а правильно ли я понимаю, что полученный архив я могу залить обратно с флэшки через mc?
Ну и если у меня на компе WinSCP, через него можно такие архивы создать и на флэшку записать? Ну и потом обратно. Будет совместимость в свойствах и прочем? Tar в нем есть. И может, тогда и флэшки не надо, если все через WinSCP пройдет?

Шаблоны, да, если сами создавали. Вообще, все, что сами создавали – бэкапить, конечно.

Архив можно из mc заливать, можно распаковать tar xzvf архив.tgz

Архив создайте в командной строке, через Putty, а скачать/закачать файл архива можно на свой ПК через WinSCP.
Ну, как в Линукс обычно: вариантов масса.

Вот для файлов-образов разделов диска (Flagman) потребуется флешка – образ создавать на ней.

Всем привет! Не появилось ли почти за год новых инструкций или штатного функционала создания резервный копии?

Добрый день! Ничего нового нет.

Хотел предложить еще вариант без USB flash. Мне он не подходит по двум причинам.

  1. Так как контроллер стоит далеко, и до него поднят VPN, бегать с флешкой не представляется возможным.
  2. Вставлять флешку в контроллер, спрятанный в большом железном шкафу ВРУ, с органайзерами очень неудобно.
    Для спокойствия, после глобальных изменений, так как только начинаю плотно знакомиться, делаю бэкап как диска, так и отдельно архивы каталогов.
    Поскольку места не сильно много на контроллере, можно сразу перенаправлять по ssh, что образ диска, что архивы.

dd if=/dev/mmcblk0 conv=sync,noerror bs=64K | gzip -c | ssh -p 22 user@host "dd of=mmcblk0-backup.img bs=64k"

tar zcvf - /usr /mnt /etc | ssh -p 22 user@host 'cat > backup_usr_mnt_etc.tar.gz'

1 лайк

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

2 лайка

Хочу поделиться еще вариантом для бекапа. Есть отличная утилита restic. В дебиановском репозитории (кстати, нет планов обновить дебиан?) она старая и падает, нужно поставть последнюю версию с самого гитхаба, подойдет вариант, который заканчивается на _linux_arm.bz2
Качаем и распаковываем

wget https://github.com/restic/restic/releases/download/v0.12.0/restic_0.12.0_linux_arm.bz2
bzip2 -d restic_0.12.0_linux_arm.bz2
mv restic_0.12.0_linux_arm restic
chmod a+x restic

теперь у нас есть работающая утилита. Нужно настроить куда копировать, тут есть вагон вариантов, я выбрал бекап в Яндекс.Облако, можно так же забекапить в амазон. Про амазон у них прямо в документации есть. С Янедксом сначала нужно выполнить первые 4 пункта этой инструкции. Потом создать файл с паролями и т.п.

touch .restic.env
chmod 600 .restic.env
nano .restic.env

откроется редактор, там вводим так

export AWS_ACCESS_KEY_ID="<тут ввести ключ от яндекса полученный ранее>"
export AWS_SECRET_ACCESS_KEY="<тут ввести секрет от яндекса поулченный ранее>"
export RESTIC_PASSWORD="<ввести любой пароль, он будет использоваться для шифрования бекапов>"
export RESTIC_REPOSITORY="s3:https://storage.yandexcloud.net/<имя бакета>"

где я написал по русски в угловых скобочках, нужно вводить свои данные без угловых скобочек
дальше выполняем

source .restic.env
./restic init

теперь у нас проинициализированная база для бекапа. Сам бкеап делается так

source .restic.env
./restic backup -x --exclude '/tmp/*' --exclude '/var/log/*' --exclude '/mnt/data/var/log/*'  / /mnt/data/

разработчики могут подсказать что еще стоит убрать из бекапа, я убрал самое очевидное

бекап инкрементальный, т.е. если делать его каждый день, то записываться будут только изменения
старые данные можно удалить. Например эта команда оставит 7 дневных бекапов, 4-5 недельных, 11-12 месячных и 9-10 годовых

source .restic.env
./restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 10 --prune

Если не нравится Яндекс Облако, то можно бекапить куда-то еще, вариантов много, хоть на флешку (не советую, флешка сдохнет)

очень похоже на rsync, логротэйт конечно покруче

logrotate - это про ротирование логов, используется чтобы логи не съели все место, он не используется для бекапа
rsync хорошая утилита, но “низкоуровневая”, напрямую для бекапа не советую использовать, т.к. придется самому следить чтобы соранялось несколько версий, плюс ограниченный набор мест куда этот бекап можно сохранить, плюс нет шифрования. На основне rsync есть более высокоуровневые утилиты для бекапа, хороший обзор можно почитать тут
Так же, есть отличная утлита rclone, с ее помощью можно сохранять на огромное количество разных облачных сервисов, включая dropbox, google drive и яндекс диск.

извиняюсь, имел в виду - что механизм сохранения логов в restic круче чем в rsync (его там вроде вообще нет)
я пробовал пользовать logrotate для ротации архивов, но в итоге пришел к скрипту на баше в кроне

1 лайк

Здравствуйте!
Есть ли возможость сделать описание, как сохранить все нужное с контроллера “по шагам” для чайников, с учетов новых возможостей. Без использования флэшки в котроллере.
Какие программы под windows установить и как скопировать все на компьютер.

Добрый день.
Архитектура, в общем не поменялвсь - так что и изменений в технологии бэкапа нет.
Типовые цели для бэкапа:

  • откатить к известному состоянию настройки
  • восстановить настройки после сброса
  • мигрировать на новый контроллер

“Общая” рекомендация - сохранять /mnt/data
также, если устанавливались какие-то пакеты - то вести их список.

  • wb-rules — пользовательские скрипты;
  • wb-rules-module — модули, написанные на wb-rules;
  • wb-mqtt-serial.conf.d/templates/ — пользовательские шаблоны.
    а данные по svg панели и связи на ней где сохраняются ?
    я так понимаю это все что необходимо в основном для сохранения.

Так это не все, вот мои сохранялки настроек WB: /mnt/data/etc:

  • /etc/wb-hardware.conf - Настройки модулей WB подключаемых по WBIO

  • /etc/wb-mqtt-serial.conf - Настройки модулей WB подключаемых по RS-485

  • /etc/wb-homa-adc.conf - Настройки универсальных входов/выходов A1-A4

  • /mnt/data/etc/wb-rules (/etc/wb-rules/) - Правила

  • /etc/wb-mqtt-db.conf - Настройка параметров хранения истории для показаний (/var/lib/wirenboard/db/data.db)

  • wb-webui.conf - настройка дашбордов и веб интерфейса

точно. если я скопирую /mnt/data на ОС Windows с помощью (WinSCP) будет считаться beckup-ом или это филькина грамота и нужно все делать через linux и так как это описано выше? дело в том что мне просто 1 раз настроить контроллер сохраить бекап и забыть о нем. и если что чтоб просто можно было поднять эти настройки.

Достаточно скопировать через WinSCP. Скопировал и забыл будет достаточно до следующего обновления ПО/шаблонов или любых других изменений.

По большему счету достаточно только /mnt/data/etc так (строчка из моего архиватора):

tar -zcvf /root/etc_`uname -n`_`date '+%Y-%m-%d'`.tar /mnt/data/etc

Не советую. При хранении в другой файловой системе именно файлов вполне теряются атрибуты, например.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.