1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день)
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
--cmd install: означает, что надо установить Vestasync на контроллер и подготовить его к созданию бекапа
--device_ip: IP-адрес контроллера
--gitea_address: адрес Gitea-сервера, куда будет отправлен бекап в виде "http://192.168.1.101:3001/"
--device_new_name: имя контроллера, из которого вместе с SN будет сформировано название контроллера, которое запишется в хостнейм и будет служить именем репозитария с конфигами
--gitea_token: токен для авторизации на Gitea-сервере (получается в интерфейсе)
Используются те же аргументы, что и в install, но дополнительно еще нужен аругмент source_hostname, который определяет имя контроллера, с которого выполняется бекап. device_new_name не используетс, в качестве имени будет взято имя старого контроллера.
## Службы
Службы, которые будут запущенны на контроллере при установке:
### Восстановление MAC-адресов (apply_macs)
Служба apply_macs отвечает за применение MAC-адресов к сетевым интерфейсам при загрузке системы.
Эта служба считывает MAC-адреса из файлов, расположенных в каталоге /mnt/data/etc/vestasync/macs/, если они есть, и присваивает их соответствующим интерфейсам, таким как eth0, eth1, wlan0 и т. д. Это используется, если на контроллер был восстанновлен созданный бекап, чтобы сохранять MAC-адреса старого контроллера, и соотвественно, адрес, выданный DHCP.
### Автоматическое версионирование и деплой конфигов (pushgit)
Служба pushgit работает в паре с таймером pushgit.timer. Они обеспечивают автоматическое сохранение конфигов в репозиторий Git на удаленном сервере ежедневно.
Это позволяет сохранять изменения в файлах и версионировать их, что упрощает управление конфигурационными файлами и предотвращает потерю данных при их случайном изменении или удалении.