Github Backup
Github на днях писал о том, что разработчиков из России пока не планируют блокировать. Но что будет дальше, никому не известно.
Задумался о создании бекапа своих репозиториев. Нашел решение от Umputun: github-backup-docker , которое базируется на питон-версии . Немного пошаманил, обновив версию питона, добавил ряд переменных для более удобного управления работой программы, все разместил в своем форке: juev/github-backup-docker . Создал PR с изменениями.
Одним из существенных изменений, на мой взгляд, по сравнению с версией умпутуна, является отказ от использования отдельных директорий под каждый бекап. Просто потому, что git сам по себе уже предоставляет историю изменений и создав один раз копию, нужно лишь обновлять ее, подтягивая новые изменения.
Достаточно склонировать репозиторий, создать копию файла .env-example под именем .env и прописать значения для переменных:
cd works
git clone https://github.com/juev/github-backup-docker.git
cd github-backup-docker
cp .env-example .env
Переходим на страницу github.com/settings/tokens
, генерируем новый токен, разрешающий работать с репозиториями. Указываем в .env файле значения для переменных:
GITHUB_USER=umputun– соответственно имя пользователяGITHUB_ACCESS_TOKEN=token– созданный токен для авторизацииTIME_ZONE=America/Chicago– таймзонаSLEEP="1d"– на сколько засыпать перед следующим запуском (по умолчанию один день)ARGS="--all --private"– параметры запуска, передаваемые в питон-программу, за подробностями обращайтесь по ссылке .
После создания файла проводим создание контейнера и затем его запуск:
docker-compose build
docker-compose up -d
Проверить корректность работы можно проверив логи:
docker-compose logs -f
Я запустил контейнер на своем Raspbbery PI, с обновлением репозиториев раз в час. И теперь у меня дома есть копия всех моих изменений. И чтобы не происходило с Github, у меня под рукой теперь есть резервная копия всех репозиториев и файлов.
Будем надеяться, что и дальше ничего не измениться и Github будет доступен, но побеспокоиться о сохранности своих данных стоит уже сейчас.