Entwickelt: 2021 ... 2022
Bei mir läuft ein Mini-PC als Gitlab-Server, angefangen habe ich aber mit einem Original-Git auf einem Raspi (guckst Du hier: Raspi/Server/Git). Was mir jetzt fehlt: Ich mache natürlich täglich ein Backup im Gitlab, aber: das kann man nur auf einem Server mit der gleichen SW-Version wieder einspielen und man kommt (im Gegensatz zu einem "Stino"-Git) auch nicht an die Verzeichnis- und Dateistrukturen ran. Ich hätte aber gern einen Backup-Server für meine Repos.
Die Idee: Ich transferiere die Repositories über meinen Client auf den Raspi, den ich zu meinem Backup-Remote ernenne. Das entstandene Script ist in mein Client-Backup eingebunden, kann aber auch standalone laufen.
So läuft das
Ein Hinweis: Ich bin auf meinen Git-Servern ja allein unterwegs - das ist eher nicht der Normalfall. Für
Repositories, die von mehreren Leutchen genutzt werden, sollte vor dem Pushen noch ein
git pull ... rein, um wirklich den aktuellen Stand auf den Client zu kriegen - wenn Du
selbst inzwischen auch tätig warst, dann vorher vielleicht noch Committen und sowas ...
Gitlab-spezifische Daten wie Benutzer o. a. werden mit dem Verfahren natürlich nicht
übernommen - mir ging es eben nur um Branches, Tags, Commits.
Installation: Wieder simpel - Entpacken (am besten in $HOME/bin, geht aber überall da, wo Du Ausführungsrecht hast), dann die Variablendefinitionen oben im Script an Deine Umgebung anpassen. Außerdem musst Du das Script git_repo_create.sh auf Deinen Git-Server transportieren, das GIT_BASE da umstellen (ich weiß ja nicht, wo Du Deine Repos versteckst) und ausführbar machen. Du solltest den ssh-Zugriff für den git-User auch auf Public/Private-Key umgestellt haben, wenn Du nicht für jedes Repo erneut das Passwort eingeben willst - siehe ssh.
Download: bkp_git_repos.tgz
sha256: 58d73350a853744a6774ed8880993baca52f42dec1d61e3f7a01bc0f91c02c80