From b0cbfd18f9858e090a60a9459f19c02dfdf71896 Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Mon, 17 Apr 2023 17:33:13 +0700 Subject: [PATCH] update readme --- README.md | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0165b54..6d323ae 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Vestasync +# VestaSync VestaSync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи: @@ -7,7 +7,7 @@ VestaSync - это ПО для бекапа и восстановления ко VestaSync — это набор скриптов, которые выполняют следующие функции: -1. При установке на контроллер: +1. При первоначальной установке на контроллер: - Создают в /mnt/data/etc/ git-репозитарий - Сохраняют текущие MAC-адреса в /mnt/data/etc/vestasync/macs/[interface] @@ -15,8 +15,8 @@ VestaSync — это набор скриптов, которые выполня 2. При изменении конфигурационных файлов - - Создают коммит коммиты на каждое изменение файлов - - Загружающит эти коммиты на сервер + - Создают коммиты на каждое изменение файлов + - Загружают эти коммиты на сервер 3. При восстановлении из бекапа @@ -26,7 +26,8 @@ VestaSync — это набор скриптов, которые выполня ## Установка VestaSync на локальную машину -**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она сама заходит на пустой контроллер и настраивает его (так работает, например, ansible). Для настройки десяти контроллеров надо просто запустить 10 команд с разными ```device_ip```. +**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она работает по модели ansible — при запуска на локальной машине сама заходит на пустой контроллер и настраивает его. +Плюс этого подхода в том, что для настройки десяти контроллеров надо просто запустить скрипт локально (подробнее см. Разное-Множественный запуск в этом файле) с разными ```device_ip```, а не заходить на каждый контроллер вручную. ```bash git clone https://github.com/vvzvlad/vestasync @@ -44,7 +45,7 @@ pip install -r requirements.txt ### install — установка на контроллер Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы"). -Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов и wb-rules в гите во время разработки и ПНР). Эта команда выполняется на контроллере один раз. +Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов и wb-rules в гите во время разработки и ПНР). Эта команда выполняется на контроллере один раз. Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```): @@ -55,7 +56,7 @@ pip install -r requirements.txt --device_ip 192.168.1.85 --gitea_address http://192.168.1.101:3001/ --device_new_name WB2 ---gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c` +--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c --user_cmd user_cmd.sh ``` @@ -89,7 +90,7 @@ hwclock --systohc --localtime --cmd restore --device_ip 192.168.1.85 --gitea_address http://192.168.1.101:3001/ ---gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c` +--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c --source_hostname WB2-A3TBJXLS ``` @@ -133,16 +134,20 @@ reboot В папке системы лежит файл "user_cmd.sh", Если вы не хотите ничего устанавливать, оставьте его пустым. ### Обновление скриптов + При повторном запуске команда ```install``` перезапишет файлы скриптов и сервисов для обновления скриптов на существующих контроллерах, если вышла новая версия Vestasync. В этом случае в ```--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 и так далее. - ### Множественный запуск Если вам надо запустить скрипт сразу на множестве контроллеров, это можно сделать так: @@ -221,4 +226,4 @@ services: - /root/gitea/pg-data:/var/lib/postgresql/data ``` -После запуска контейнера, надо перейти в веб-панель Gitea, создать там пользователя Vestasync, после чего получить в его настройках токен доступа, установив все галочки. В дальнейшем этот токен указывается в ```gitea_token``` +После запуска контейнера, надо перейти в веб-панель Gitea, создать там пользователя "vestasync", после чего получить в его настройках токен доступа, установив все галочки. В дальнейшем этот токен указывается в ```gitea_token```