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
6d4f1b931b
commit
108c37cb5d
15
README.md
15
README.md
@ -3,6 +3,9 @@
|
|||||||
VestaSync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи:
|
VestaSync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи:
|
||||||
|
|
||||||
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день) и по изменению файлов.
|
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день) и по изменению файлов.
|
||||||
|
|
||||||
|
![Пример версионности конфигурации](miscellaneous/versions.jpeg)
|
||||||
|
|
||||||
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
|
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
|
||||||
|
|
||||||
VestaSync — это набор скриптов, которые выполняют следующие функции:
|
VestaSync — это набор скриптов, которые выполняют следующие функции:
|
||||||
@ -10,7 +13,7 @@ VestaSync — это набор скриптов, которые выполня
|
|||||||
1. При первоначальной установке на контроллер:
|
1. При первоначальной установке на контроллер:
|
||||||
|
|
||||||
- Создают в /mnt/data/etc/ git-репозитарий
|
- Создают в /mnt/data/etc/ git-репозитарий
|
||||||
- Сохраняют текущие MAC-адреса в /mnt/data/etc/vestasync/macs/[interface]
|
- Сохраняют текущие MAC-адреса в /mnt/data/etc/vestasync/macs/eth0(1...)
|
||||||
- Сохраняют hostname в /mnt/data/etc/vestasync/hostname
|
- Сохраняют hostname в /mnt/data/etc/vestasync/hostname
|
||||||
|
|
||||||
2. При изменении конфигурационных файлов
|
2. При изменении конфигурационных файлов
|
||||||
@ -24,6 +27,8 @@ VestaSync — это набор скриптов, которые выполня
|
|||||||
- Восстанавливают конфиги, hostname и mac-адрес
|
- Восстанавливают конфиги, hostname и mac-адрес
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Установка VestaSync на локальную машину или запуск докер-контейнера
|
## Установка VestaSync на локальную машину или запуск докер-контейнера
|
||||||
|
|
||||||
**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она работает по модели ansible — при запуска на локальной машине сама заходит на пустой контроллер и настраивает его.
|
**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она работает по модели ansible — при запуска на локальной машине сама заходит на пустой контроллер и настраивает его.
|
||||||
@ -78,7 +83,8 @@ docker run -it --name vestasync vvzvlad/vestasync:latest \
|
|||||||
```--gitea_address``` адрес Gitea-сервера в виде "http://192.168.1.101:3001/", куда будет загружаться бекапы конфигов
|
```--gitea_address``` адрес Gitea-сервера в виде "http://192.168.1.101:3001/", куда будет загружаться бекапы конфигов
|
||||||
```--device_new_name``` имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами
|
```--device_new_name``` имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами
|
||||||
```--gitea_token``` токен для авторизации на Gitea-сервере (получается в интерфейсе Gitea)
|
```--gitea_token``` токен для авторизации на Gitea-сервере (получается в интерфейсе Gitea)
|
||||||
```--user_cmd``` файл sh с командами, которые надо выполняить на контроллере для его настройки под ваши задачи (указывать необязательно). В нем можно описать любые команды, которыми вам надо конфигурировать контроллер: например, установка ключа SSH, установка таймзоны и локали, и так далее. Пример файла — ```files/user_cmd.sh```:
|
```--user_cmd``` файл sh с командами, которые надо выполняить на контроллере для его настройки под ваши задачи (указывать необязательно). В нем можно описать любые команды, которыми вам надо конфигурировать контроллер: например, установка ключа SSH, установка таймзоны и локали, и так далее.
|
||||||
|
Пример файла — ```files/user_cmd.sh```:
|
||||||
|
|
||||||
```
|
```
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
@ -133,7 +139,7 @@ reboot
|
|||||||
|
|
||||||
### Автоматическое версионирование и деплой конфигов (pushgit)
|
### Автоматическое версионирование и деплой конфигов (pushgit)
|
||||||
|
|
||||||
Службы pushgit (и таймер pushgit.timer) и pushgit_inotify обеспечивают автоматическое сохранение конфигов в репозиторий Git на удаленном сервере.
|
Службы ```pushgit``` (и таймер ```pushgit.timer```) и ```pushgit_inotify``` обеспечивают автоматическое сохранение конфигов в репозиторий Git на удаленном сервере.
|
||||||
Это позволяет сохранять изменения в файлах и версионировать их, что упрощает управление конфигурационными файлами и предотвращает потерю данных при их случайном изменении или удалении.
|
Это позволяет сохранять изменения в файлах и версионировать их, что упрощает управление конфигурационными файлами и предотвращает потерю данных при их случайном изменении или удалении.
|
||||||
Данные сохраняются при каждом сохранении файлов или каждый день, если отключен или не сработал мониторинг сохранения.
|
Данные сохраняются при каждом сохранении файлов или каждый день, если отключен или не сработал мониторинг сохранения.
|
||||||
Чтобы отключить сохранение каждый день, надо остановить службу: ```systemctl stop pushgit.timer```. Запустить обратно — ```systemctl start pushgit.timer```.
|
Чтобы отключить сохранение каждый день, надо остановить службу: ```systemctl stop pushgit.timer```. Запустить обратно — ```systemctl start pushgit.timer```.
|
||||||
@ -184,7 +190,6 @@ for DEVICE_INFO in "${DEVICES[@]}"; do
|
|||||||
echo "Run on $IP/$DEVICE_NAME"
|
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"
|
./vestasync.py --cmd install --device_ip "$IP" --gitea_address "$GITEA_ADDRESS" --device_new_name "$DEVICE_NAME" --gitea_token "$GITEA_TOKEN"
|
||||||
done
|
done
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Gitea
|
### Gitea
|
||||||
@ -237,4 +242,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```.
|
||||||
|
BIN
miscellaneous/versions.jpeg
Normal file
BIN
miscellaneous/versions.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
Loading…
Reference in New Issue
Block a user