Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 4.36 KB

README.md

File metadata and controls

58 lines (42 loc) · 4.36 KB

backupUtil

Введение

Данная утилита используется для передачи конфигураций устройств программно-аппаратного комплекса Arbor Sightline на приватный git – репозиторий.

Все устройства работают под управлением операционной системы ArbOS, построенной на базе Red Hat 6.4.1-1. Однако, в силу разности функций, исполняемых отдельными звеньями комплекса, базовый набор предустановленных утилит отличается у различных устройств.

Так, в развертывании ArbOS версии 7.2 с надстройкой Peakflow SP версии 9.6.0.0 и выше, предустановлена утилита git версии 2.29.2, исполняющая роль системы контроля версии конфигурации. Что позволяет использовать git–конвейер (также известный как pipeline), построенный с использованием git hooks.

В то же время у устройств, работающих под управлением системой ArbOS версии 7.3 с надстройкой Arbor TMS версии 9.6.0.0, отсутствует утилита git. В связи с чем отсутствует возможность построения событийно-ориентированной системы резервного копирования файлов конфигурации.

С учетом представленных обстоятельств был написан дополнительный функционал, позволяющий производить резервное сохранение конфигураций.

Сборка

Компиляция исходных файлов должна происходить с учетом операционной системы и архитектуры используемого процессора. В нашем случае, это amd64 под управлением linux.

$ if [ -d src ]; then cd src; else echo "Command should be run at the top level of this repository" && exit; fi
$ go get; GOOS=linux GOARCH=amd64 go build -o ../backupUtil

Конфигурация

В корневой директории репозитория находится YAML – файл backupUtil.cfg, представляющий собой файл конфигурации для программы backupUtil. Перед переходом к распространению программы по устройствам сети необходимо задать все обязательные поля.

Распространение

Независимо от типа устройства считаем, что используемые файлы находятся в базовой директории:

$ ls -1 /base/data/files/scripts/
  backupUtil
  backupUtil.cfg
  backupCron 
  post-commit

При этом файлы backupUtil, backupCron и post-commit должны быть исполняемыми.

$ chmod +x backupUtil backupCron post-commit

Рассмотрим пошаговую инструкцию по настройке резервного копирования конфигурации устройств различных групп.

Peakflow SP

$ mkdir -p /base/nfsroot/etc/peakflow/config/.git/hooks/
$ mv /base/data/files/scripts/post-commit /base/nfsroot/etc/peakflow/config/.git/hooks/post-commit

Таким образом, при произведении сохранения конфигурации на системе Peakflow SP будет выполнена синхронизации файла конфигурации с удаленным репозиторием.

Arbor TMS

$ mv /base/data/files/scripts/backupCron /etc/c.day/backupCron

Таким образом, один раз в сутки в 1:15 UTC будет производиться синхронизация конфигурации устройства с удаленным репозиторием.