mirror of
https://github.com/vvzvlad/vestasync.git
synced 2024-12-26 04:01:00 +03:00
update readme
This commit is contained in:
parent
99e8927afd
commit
e3eab8d4cd
45
README.md
45
README.md
@ -2,7 +2,7 @@
|
||||
|
||||
Vestasync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи:
|
||||
|
||||
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день)
|
||||
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день) и по изменению файлов.
|
||||
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
|
||||
|
||||
## Установка
|
||||
@ -18,7 +18,6 @@ pip install -r requirements.txt
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Команды
|
||||
|
||||
У Vestasync есть всего две команды: `install`, и `restore`.
|
||||
@ -45,9 +44,6 @@ pip install -r requirements.txt
|
||||
```--device_new_name```: имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами
|
||||
```--gitea_token```: токен для авторизации на Gitea-сервере (получается в интерфейсе)
|
||||
|
||||
#### Пользовательские команды
|
||||
|
||||
В папке системы лежит файл "user_cmd.sh", внутри которого можно описать любые команды, которыми вам надо конфигурировать контроллер: например, установка ключа SSH, установка таймзоны и локали, и так далее. Если вы не хотите ничего устанавливать, оставьте его пустым.
|
||||
|
||||
### restore
|
||||
|
||||
@ -59,7 +55,7 @@ pip install -r requirements.txt
|
||||
```bash
|
||||
./vestasync.py
|
||||
--cmd restore
|
||||
--device_ip 192.168.98.85
|
||||
--device_ip 192.168.1.85
|
||||
--gitea_address http://192.168.1.101:3001/
|
||||
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c`
|
||||
--source_hostname WB2-A3TBJXLS
|
||||
@ -67,7 +63,7 @@ pip install -r requirements.txt
|
||||
|
||||
Используются те же аргументы, что и в ```install```, но дополнительно еще нужен аругмент ```source_hostname```, который определяет имя контроллера, с которого выполняется бекап. ```device_new_name``` не используетс, в качестве имени будет взято имя старого контроллера.
|
||||
|
||||
|
||||
**Обратите внимание, что после восстановления бекапа на новом контроллере старый контроллер не должен включаться в сеть, иначе произойдет конфликт адресов.**
|
||||
|
||||
## Службы
|
||||
|
||||
@ -98,8 +94,41 @@ reboot
|
||||
|
||||
Для принудительной загрузки конфигов надо выполнить в консоли контроллера ```systemctl start pushgit.service```
|
||||
|
||||
## Разное
|
||||
|
||||
## Gitea
|
||||
### Пользовательские команды
|
||||
|
||||
В папке системы лежит файл "user_cmd.sh", внутри которого можно описать любые команды, которыми вам надо конфигурировать контроллер: например, установка ключа SSH, установка таймзоны и локали, и так далее. Если вы не хотите ничего устанавливать, оставьте его пустым.
|
||||
|
||||
### Множественный запуск
|
||||
|
||||
Если вам надо запустить скрипт сразу на множестве контроллеров, это можно сделать так:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
# Создайте массив с парами IP-адреса и имени устройства
|
||||
DEVICES=(
|
||||
"192.168.1.1 WB1"
|
||||
"192.168.1.2 WB2"
|
||||
"192.168.1.3 WB3"
|
||||
"192.168.1.4 WB4"
|
||||
)
|
||||
|
||||
GITEA_ADDRESS="http://192.168.1.101:3001/"
|
||||
GITEA_TOKEN="de8a2eaee0d2f27746157c2fd563815f932d671c"
|
||||
|
||||
for DEVICE_INFO in "${DEVICES[@]}"; do
|
||||
IP=$(echo "$DEVICE_INFO" | cut -d ' ' -f1)
|
||||
DEVICE_NAME=$(echo "$DEVICE_INFO" | cut -d ' ' -f2)
|
||||
|
||||
echo "Run on $IP/$DEVICE_NAME"
|
||||
./vestasync.py --cmd install --device_ip "$IP" --gitea_address "$GITEA_ADDRESS" --device_new_name "$DEVICE_NAME" --gitea_token "$GITEA_TOKEN"
|
||||
done
|
||||
|
||||
```
|
||||
|
||||
### Gitea
|
||||
|
||||
В качестве git-сервера используется gitea. Предполагается, что она работает локально, но можно использовать и публичные инсталляции. Устанавливать ее можно любым удобным способом, например с помощью такого docker-compose:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user