Паранойя не дремлет, поэтому всегда лучше иметь бэкап всех своих проектов, чтобы в случае какого-либо казуса ничего не потерялось. А лучше два бэкапа....
В качестве одного у меня есть свой сервер Gitea, на котором хранятся разные проекты или просто скрипты и заметки, он же выкачивает с GitHub в режиме зеркала те проекты, которые изначально хостятся там.
В качестве второго бэкапа рулят обычные архивы с данными где-нибудь на полочке.
Для этого можно овспользоваться простым скриптом, который по API дернет список всех реп, а потом просто клонирует их в каталог.
Я его подцепил на каком-то форуме, и с тех пор довольно часто пользуюсь.
Создаем каталог, куда будем клонировать, и переходим в него:
А теперь запускаем скрипт:
Единственный нюанс — он не сможет выкачать боле 100 реп, но я редко у кого столько видел.
Обновить репы можно так:
Можно добавить всю эту магию в crontab на домашнем сервере, чтобы, скажем, раз в сути в 12 ночи он делал бэкап. Можно добавить немного улучшайзеров: упаковывать в архивы по дате и так далее.
В качестве одного у меня есть свой сервер Gitea, на котором хранятся разные проекты или просто скрипты и заметки, он же выкачивает с GitHub в режиме зеркала те проекты, которые изначально хостятся там.
В качестве второго бэкапа рулят обычные архивы с данными где-нибудь на полочке.
Для этого можно овспользоваться простым скриптом, который по API дернет список всех реп, а потом просто клонирует их в каталог.
Я его подцепил на каком-то форуме, и с тех пор довольно часто пользуюсь.
Создаем каталог, куда будем клонировать, и переходим в него:
Код:
mkdir my_projects
cd my_projects
А теперь запускаем скрипт:
Код:
curl -s "https://api.github.com/users//repos?per_page=100&page=1" | jq -r '.[] | select(.name ) | select(.fork == false).ssh_url' | xargs -L1 git clone --mirror
Единственный нюанс — он не сможет выкачать боле 100 реп, но я редко у кого столько видел.
Обновить репы можно так:
Код:
find . -maxdepth 1 -type d -exec sh -c '(cd {} && echo ">>> Pull repo \"$(basename "$(pwd)")\"" && git pull --all | grep -v "Fetching origin" | grep -v "Already up to date")' ';'
Можно добавить всю эту магию в crontab на домашнем сервере, чтобы, скажем, раз в сути в 12 ночи он делал бэкап. Можно добавить немного улучшайзеров: упаковывать в архивы по дате и так далее.
08.02.2023 16:Feb
Разве не нужно делать git clone --mirror?
It's time to kick gum and chew ass. And i'm all out of ass.
Хорошее замечание, кстати, да. Он же так только мейнстрим сливает щас.
С одной стороны — да и пофиг? Все равно рано или поздно все ветки сливаются в мастера, так что даже если раз в сутки ты что-то потеряешь — пофиг. С другой, наверное, лучше делать полную копию репы со всем содержимым вообще.
Фиксану щас скрипт
С одной стороны — да и пофиг? Все равно рано или поздно все ветки сливаются в мастера, так что даже если раз в сутки ты что-то потеряешь — пофиг. С другой, наверное, лучше делать полную копию репы со всем содержимым вообще.
Фиксану щас скрипт

12.02.2023 11:Feb
13.03.2023 16:Mar
Вот бы так иметь в бэкапе все сорцы, которыми пользуешься.
А то качать с Github-а репозитории у меня не вышло, Gitea жалуется на ошибки и не получается зеркала сделать.
Может, Gentooшные тарболлы зеркалить? Сколько они весят?
Или, вот слышал, у Red Hat вместе с диском с бинарниками раньше поставлялись и диски с исходным кодом.
А то качать с Github-а репозитории у меня не вышло, Gitea жалуется на ошибки и не получается зеркала сделать.
Может, Gentooшные тарболлы зеркалить? Сколько они весят?
Или, вот слышал, у Red Hat вместе с диском с бинарниками раньше поставлялись и диски с исходным кодом.
13.03.2023 19:Mar
(13.03.2023 16:Mar)byashacat Написал: Или, вот слышал, у Red Hat вместе с диском с бинарниками раньше поставлялись и диски с исходным кодом.Раньше в установочный образ любой BSD включались порты, а порты раньше включали в себя в том числе исходный код.
(13.03.2023 16:Mar)byashacat Написал: Может, Gentooшные тарболлы зеркалить? Сколько они весят?Тарболлы там в основном качаются с зеркал, но на этих зеркалах они ничем не отличаются от апстрима. Все исходники всех доступных пакетов весят… много. Очень много.
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
(13.03.2023 16:Mar)byashacat Написал: Вот бы так иметь в бэкапе все сорцы, которыми пользуешься.
Имей, кто тебе мешает?

(13.03.2023 16:Mar)byashacat Написал: Gitea жалуется на ошибки и не получается зеркала сделать
Какие? Там, возможно, надо просто ключ добавить ей. У меня без проблем все мои гитхабо-репы собираются.
(13.03.2023 16:Mar)byashacat Написал: Может, Gentooшные тарболлы зеркалить? Сколько они весят?
А там разве из одного места тянутся все исходники?
(13.03.2023 19:Mar)mord0d Написал: Все исходники всех доступных пакетов весят… много. Очень много.
Дохрена, я бы даже сказал

14.03.2023 17:Mar
(14.03.2023 10:Mar)Zhbert Написал:По умолчанию вроде с выбранного зеркала с фоллбэком на апстрим.Цитата:Может, Gentooшные тарболлы зеркалить? Сколько они весят?А там разве из одного места тянутся все исходники?
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
15.03.2023 07:Mar
(15.03.2023 07:Mar)Zhbert Написал: Значит я чет попутал. Был уверен, что иногда оно тянет сорцы прямо с гитхаба или сорсфоржа.Если это явно указано в ебилде. Лайвы, например, потому что оно из HEAD/trunk тянет, снапшоты которых, очевидно, на зеркала никто не сливает.
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
16.03.2023 16:Mar
Цитата: Какие? Там, возможно, надо просто ключ добавить ей. У меня без проблем все мои гитхабо-репы собираются.deadline context exceeded и все в таком духе, увеличивал таймауты - без толку
Цитата: А там разве из одного места тянутся все исходники?В 2021 году ставил - да, из одного места. Из ж......
Цитата: Имей, кто тебе мешает?Все, что установлено в ОС с зависимостями + сервисы, что развернул в докере. Хочу иметь копии на случай непредвиденных ситуаций (отключение интернета, пришествие инопланетян).Или ты про вообще все пакеты в ОС?
19.03.2023 00:Mar
(16.03.2023 16:Mar)byashacat Написал: Все, что установлено в ОС с зависимостями + сервисы, что развернул в докере. Хочу иметь копии на случай непредвиденных ситуаций (отключение интернета, пришествие инопланетян).В этом случае ничего обновляться у тебя не будет, а значит и пересобирать уже работающее не имеет смысла. В чём практическое применение твоей хотелки — не вполне ясно.
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
20.03.2023 07:Mar
Угу, выглядит так, как будто достаточно просто образ системы снять.
Тем более, что раскатать его можно на любое железо без проблем (линуксы точно, насчет фряхи вашей хз).
Ну а вообще решить эту проблему можно с помощью Harbor или ему подобных — он тебе и докер закеширует, и пакеты дистра, и нпм и вообще все...
Тем более, что раскатать его можно на любое железо без проблем (линуксы точно, насчет фряхи вашей хз).
Ну а вообще решить эту проблему можно с помощью Harbor или ему подобных — он тебе и докер закеширует, и пакеты дистра, и нпм и вообще все...
20.03.2023 07:Mar
(20.03.2023 07:Mar)Zhbert Написал: Тем более, что раскатать его можно на любое железо без проблем (линуксы точно, насчет фряхи вашей хз).FreeBSD ставится точно так же, как Gentoo: разметил диск, распаковал базовую систему, бутстрапнул MBR и/или скопировал efi-файл на ESP. И переносится точно так же, как и почти любой UNIX-like (только BSD cp хардлинки дереференсит, потому лучше использовать tar). С ZFS перенос можно осуществить средствами самой ZFS, с UFS можно использовать dump/restore (это получится дольше чем банальный tar), дальше как обычно бутстрапаешь загрузчик и готово.
(20.03.2023 07:Mar)Zhbert Написал: с помощью HarborЕсли уже установленные пакеты, то достаточно просто не сносить кэш pkg (у меня на десктопе уже 33G кэша, пару раз даже пригодилось) или хотя бы копировать нужные версии куда-нибудь.
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
23.03.2023 10:Mar
Разве Gitea не умеет с коробки в бекап репозиториев?
23.03.2023 10:Mar
Пользователи, просматривающие эту тему: 1 Гость(ей)