Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

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 Артур Атнагулов & Евгений Жуковец

About

Утилита для создания бекапов

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.