update readme

This commit is contained in:
vvzvlad 2023-04-17 17:33:13 +07:00
parent a3a08cd890
commit b0cbfd18f9

View File

@ -1,4 +1,4 @@
# Vestasync # VestaSync
VestaSync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи: VestaSync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи:
@ -7,7 +7,7 @@ VestaSync - это ПО для бекапа и восстановления ко
VestaSync — это набор скриптов, которые выполняют следующие функции: VestaSync — это набор скриптов, которые выполняют следующие функции:
1. При установке на контроллер: 1. При первоначальной установке на контроллер:
- Создают в /mnt/data/etc/ git-репозитарий - Создают в /mnt/data/etc/ git-репозитарий
- Сохраняют текущие MAC-адреса в /mnt/data/etc/vestasync/macs/[interface] - Сохраняют текущие MAC-адреса в /mnt/data/etc/vestasync/macs/[interface]
@ -15,8 +15,8 @@ VestaSync — это набор скриптов, которые выполня
2. При изменении конфигурационных файлов 2. При изменении конфигурационных файлов
- Создают коммит коммиты на каждое изменение файлов - Создают коммиты на каждое изменение файлов
- Загружающит эти коммиты на сервер - Загружают эти коммиты на сервер
3. При восстановлении из бекапа 3. При восстановлении из бекапа
@ -26,7 +26,8 @@ VestaSync — это набор скриптов, которые выполня
## Установка VestaSync на локальную машину ## Установка VestaSync на локальную машину
**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она сама заходит на пустой контроллер и настраивает его (так работает, например, ansible). Для настройки десяти контроллеров надо просто запустить 10 команд с разными ```device_ip```. **Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она работает по модели ansible — при запуска на локальной машине сама заходит на пустой контроллер и настраивает его.
Плюс этого подхода в том, что для настройки десяти контроллеров надо просто запустить скрипт локально (подробнее см. Разное-Множественный запуск в этом файле) с разными ```device_ip```, а не заходить на каждый контроллер вручную.
```bash ```bash
git clone https://github.com/vvzvlad/vestasync git clone https://github.com/vvzvlad/vestasync
@ -44,7 +45,7 @@ pip install -r requirements.txt
### install — установка на контроллер ### install — установка на контроллер
Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы"). Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы").
Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов и wb-rules в гите во время разработки и ПНР). Эта команда выполняется на контроллере один раз. Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов и wb-rules в гите во время разработки и ПНР). Эта команда выполняется на контроллере один раз.
Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```): Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```):
@ -55,7 +56,7 @@ pip install -r requirements.txt
--device_ip 192.168.1.85 --device_ip 192.168.1.85
--gitea_address http://192.168.1.101:3001/ --gitea_address http://192.168.1.101:3001/
--device_new_name WB2 --device_new_name WB2
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c` --gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c
--user_cmd user_cmd.sh --user_cmd user_cmd.sh
``` ```
@ -89,7 +90,7 @@ hwclock --systohc --localtime
--cmd restore --cmd restore
--device_ip 192.168.1.85 --device_ip 192.168.1.85
--gitea_address http://192.168.1.101:3001/ --gitea_address http://192.168.1.101:3001/
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c` --gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c
--source_hostname WB2-A3TBJXLS --source_hostname WB2-A3TBJXLS
``` ```
@ -133,16 +134,20 @@ reboot
В папке системы лежит файл "user_cmd.sh", Если вы не хотите ничего устанавливать, оставьте его пустым. В папке системы лежит файл "user_cmd.sh", Если вы не хотите ничего устанавливать, оставьте его пустым.
### Обновление скриптов ### Обновление скриптов
При повторном запуске команда ```install``` перезапишет файлы скриптов и сервисов для обновления скриптов на существующих контроллерах, если вышла новая версия Vestasync. При повторном запуске команда ```install``` перезапишет файлы скриптов и сервисов для обновления скриптов на существующих контроллерах, если вышла новая версия Vestasync.
В этом случае в ```--device_ip``` можно передать несколько IP-адресов: В этом случае в ```--device_ip``` можно передать несколько IP-адресов:
``` ```
./vestasync.py --cmd install --device_ip 192.168.98.92 192.168.98.85 --gitea_address http://192.168.98.101:3001/ --device_new_name WB1 --gitea_token de8a2eaee0d2f27746157c2fd563815f932d670c ./vestasync.py --cmd install
--device_ip ==> 192.168.98.92 192.168.98.85 <==
--gitea_address http://192.168.98.101:3001/
--device_new_name WB1
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d670c
``` ```
Обратите внимание, что устанавливать Vestasync на несколько контроллеров лучше с помощью скрипта ниже, потому что при указании набора из нескольких адресов ```device_ip``` с командой ```install``` у них будет одинаковые имена хостов (```--device_new_name WB1```), отличающееся только серийным номером: WB1-AFYATAO7, WB1-A3TBJXLS и так далее. Обратите внимание, что устанавливать Vestasync на несколько контроллеров лучше с помощью скрипта ниже, потому что при указании набора из нескольких адресов ```device_ip``` с командой ```install``` у них будет одинаковые имена хостов (```--device_new_name WB1```), отличающееся только серийным номером: WB1-AFYATAO7, WB1-A3TBJXLS и так далее.
### Множественный запуск ### Множественный запуск
Если вам надо запустить скрипт сразу на множестве контроллеров, это можно сделать так: Если вам надо запустить скрипт сразу на множестве контроллеров, это можно сделать так:
@ -221,4 +226,4 @@ services:
- /root/gitea/pg-data:/var/lib/postgresql/data - /root/gitea/pg-data:/var/lib/postgresql/data
``` ```
После запуска контейнера, надо перейти в веб-панель Gitea, создать там пользователя Vestasync, после чего получить в его настройках токен доступа, установив все галочки. В дальнейшем этот токен указывается в ```gitea_token``` После запуска контейнера, надо перейти в веб-панель Gitea, создать там пользователя "vestasync", после чего получить в его настройках токен доступа, установив все галочки. В дальнейшем этот токен указывается в ```gitea_token```