0

git

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

09.01.2023
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() потоков.

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

Подписка

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

Рубрики

Популярное

mikrotik
Previous Story

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

mysql
Next Story

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

Latest from Blog

PostgresSQL-16 + 1C

Для начала, в какой среде будем работать: Наша задача: Предполагается, что Debian на который мы установим как PostgreSQL так и Сервер 1С установлен (Установка по умолчанию). Для начала проверим «локаль»: Как видим

POSTGRESQL 16 + CЕРВЕР 1С X64 И 1С 8.3.24

Для начала, в какой среде будем работать: Наша задача: Предполагается, что Debian на который мы установим как PostgreSQL так и Сервер 1С установлен (Установка по умолчанию). Для начала проверим «локаль»: Как видим

HADOOP

Hабор инструментов для разработки программ и обеспечения среды для их запуска в распределенной среде. Позволяет создавать большие кластеры и упрощает процесс управления ими. Является одним из элементов конвейеров обработки больших данных. Разработан на Java фондом Apache

Обновление mySQL с версии 5.7 до 8.0

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

Don't Miss

backup, mysql

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

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