Утилита для создания бекапов
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
adapters
tasks_example
.dockerignore
.gitignore
Dockerfile
LICENSE
README.md
app.py
docker-compose.yml
requirements.txt

README.md

Backuper

Утилита для создания бекапов. Это ядро приложения, которое содержит в себе адаптеры помогает запускать задачи. Конфигурации задач хранятся в формате yml. Код задач описывается на языке Python 3.

Пример конфигурации, кода задачи и docker-compose файл для запуска находятся в папке tasks_examples.

Доступные адаптеры:

  • ssh - подключение по ssh
  • task_config - погрузка конфигураций
  • temp - создание и очистка временной папки
  • uploader - загрузка в Яндекс.Диск

Запуск

  • python app.py - запуск приложения
  • python app.py TASKNAME - запуск только задачи TASKNAME

Переменные окружения

  • TASKS_DIR - папка с задачами (по умолчанию - tasks)
  • YADISK_TOKEN - токен Яндекс.Диска (процесс получения описан ниже)
  • YADISK_DIR - папка для хранения резервных копий на Яндекс.Диске (по умолчанию - backupstore)
  • SENTRY_DSN - ключ к sentry. Если указан, ошибки будут отправляться в эту систему.

Получение токена Яндекс.Диска

Загрузка файлов происходит через официальный клиент ydcmd. Авторизация в этом клиенте работает через токены. Ниже описан процесс получения этого токена.

  • Авторизоваться в необходимом аккаунте Яндекса
  • Войти в контейнер (docker run -ti --rm atnartur/backuper:latest bash)
  • Выполнить: ydcmd token
  • Открыть ссылку, которая вышла в программе
  • Получить код авторизации, выполнить: ydcmd token КОД_АВТОРИЗАЦИИ
  • Выведенный OAuth токен вписать в значение переменной среды YADISK_TOKEN (пример запуска через docker-compose находится в папке tasks_examples)

Docker

  • docker build -t atnartur/backuper:latest . - сборка
  • docker push atnartur/backuper:latest - отправка в Docker Registry

Авторы

© 2017-2018 Артур Атнагулов & Евгений Жуковец