0

git

Резервное копирование репозиториев с github, gitlab

main

Резервное копирование репозиториев с git серверов на основе github и gitlab по токену. Скрипт скачивает все Ваши репозитории доступные по токену и архивирует их. Давно хотел написать такой инструмент т.к. использую и те и те сервера в работе и личных целях. У меня полно старых проектов которые хранятся только на git, если с ним что-то случится, то их уже не будет.

Как пользоваться

Написано на python3, необходимая версии >= 3.7, скачиваем с github, устанавливаем зависимости и запускаем:

git clone https://github.com/dvjdjvu/gitReposDownloader
cd gitReposDownloader

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh libomp-dev -y

pip3 install -r requirements.txt

Скачиваем репозитории:

./src/main.py -s github.com -t ghp_TOKEN

Для работы с gitlab используется модуль python-gitlab. Взаимодействие с github идет через утилиту gh, которая запомнит токен. Удалить токен из памяти gh:

gh auth logout

В директории запуска скрипта создается архив имя_сервера.tar.gz или скрипт выводит ошибку причины не скачивания репозиториев.

Скачивание распараллелено в multiprocessing.cpu_count() потоков.

Облачная платформа

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

1 backup, mysql

Backup MYSQL С ПОМОЩЬЮ PERCONA XTRABACKUP В UBUNTU

Базы данных хранят очень ценную информацию об инфраструктуре. Потому для защиты от потери данных в случае аварии или сбоя оборудования крайне важно
mikrotik
Previous Story

Мой MikroTik – моя цифровая крепость (часть 4)

mysql
Next Story

Основные команды SQL, которые должен знать каждый админ.

Latest from Blog

Проброс портов в роутере MikroTik 2

Проброс портов в роутере MikroTik (port forwarding) позволяет организовать удаленный доступ из интернета к какому-нибудь устройству внутри вашей локальной сети (к IP-камере, Web, FTP или игровому серверу). В данной статье мы рассмотрим пример, как

How to set up WireGuard Client on Debian?

WireGuard is an extremely simple yet fast and modern VPN. Setting up the WireGuard VPN client on Debian is straightforward. In this tutorial, we will set up WireGuard VPN client on Debian
Go toTop

Don't Miss

backup, mysql

Backup MYSQL С ПОМОЩЬЮ PERCONA XTRABACKUP В UBUNTU

Базы данных хранят очень ценную информацию об инфраструктуре. Потому для