mirror of
https://github.com/vvzvlad/vestasync.git
synced 2024-12-26 12:11: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. Оно решает две задачи:
|
Vestasync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи:
|
||||||
|
|
||||||
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день)
|
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день) и по изменению файлов.
|
||||||
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
|
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
@ -18,7 +18,6 @@ pip install -r requirements.txt
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Команды
|
## Команды
|
||||||
|
|
||||||
У Vestasync есть всего две команды: `install`, и `restore`.
|
У Vestasync есть всего две команды: `install`, и `restore`.
|
||||||
@ -45,9 +44,6 @@ pip install -r requirements.txt
|
|||||||
```--device_new_name```: имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами
|
```--device_new_name```: имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами
|
||||||
```--gitea_token```: токен для авторизации на Gitea-сервере (получается в интерфейсе)
|
```--gitea_token```: токен для авторизации на Gitea-сервере (получается в интерфейсе)
|
||||||
|
|
||||||
#### Пользовательские команды
|
|
||||||
|
|
||||||
В папке системы лежит файл "user_cmd.sh", внутри которого можно описать любые команды, которыми вам надо конфигурировать контроллер: например, установка ключа SSH, установка таймзоны и локали, и так далее. Если вы не хотите ничего устанавливать, оставьте его пустым.
|
|
||||||
|
|
||||||
### restore
|
### restore
|
||||||
|
|
||||||
@ -59,7 +55,7 @@ pip install -r requirements.txt
|
|||||||
```bash
|
```bash
|
||||||
./vestasync.py
|
./vestasync.py
|
||||||
--cmd restore
|
--cmd restore
|
||||||
--device_ip 192.168.98.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
|
||||||
@ -67,7 +63,7 @@ pip install -r requirements.txt
|
|||||||
|
|
||||||
Используются те же аргументы, что и в ```install```, но дополнительно еще нужен аругмент ```source_hostname```, который определяет имя контроллера, с которого выполняется бекап. ```device_new_name``` не используетс, в качестве имени будет взято имя старого контроллера.
|
Используются те же аргументы, что и в ```install```, но дополнительно еще нужен аругмент ```source_hostname```, который определяет имя контроллера, с которого выполняется бекап. ```device_new_name``` не используетс, в качестве имени будет взято имя старого контроллера.
|
||||||
|
|
||||||
|
**Обратите внимание, что после восстановления бекапа на новом контроллере старый контроллер не должен включаться в сеть, иначе произойдет конфликт адресов.**
|
||||||
|
|
||||||
## Службы
|
## Службы
|
||||||
|
|
||||||
@ -98,8 +94,41 @@ reboot
|
|||||||
|
|
||||||
Для принудительной загрузки конфигов надо выполнить в консоли контроллера ```systemctl start pushgit.service```
|
Для принудительной загрузки конфигов надо выполнить в консоли контроллера ```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:
|
В качестве git-сервера используется gitea. Предполагается, что она работает локально, но можно использовать и публичные инсталляции. Устанавливать ее можно любым удобным способом, например с помощью такого docker-compose:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user