server:gitea:datenimport:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| server:gitea:datenimport:start [2026/05/27 17:06] – angelegt admin | server:gitea:datenimport:start [2026/05/27 17:25] (aktuell) – admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Datenimport | + | ====== |
| + | |||
| + | Wenn sehr viele bestehende Daten in eine neue Gitea-Installation importiert werden sollen, dann geht das ganz bequem per Skript. Die Daten (.git) liegen im Importverzeichnis, | ||
| + | Ausserdem wird ein gültiger // | ||
| + | // | ||
| + | Name: <code bash> | ||
| + | Scopes (anhaken): | ||
| + | <code bash> | ||
| + | <code bash> | ||
| + | <code bash> | ||
| + | Den Token, genau so wie er oben angezeigt wird, in das Skript kopieren.\\ | ||
| + | **ACHTUNG: Der Token wird nur einmal angezeigt!!!** | ||
| + | |||
| + | Das ausführbare Skript: | ||
| + | <code bash># | ||
| + | |||
| + | # === Konfiguration === | ||
| + | SRC_BASE="/ | ||
| + | TMP_BASE="/ | ||
| + | HOST=" | ||
| + | OWNER=" | ||
| + | TOKEN=" | ||
| + | API_URL=" | ||
| + | |||
| + | mkdir -p " | ||
| + | |||
| + | echo "=== STARTE LIVE-IMPORT ALLER REPOS (HTTPS) ===" | ||
| + | echo | ||
| + | |||
| + | # Git-Safe-Directory für alle Import-Repos setzen | ||
| + | for repo in " | ||
| + | [ -d " | ||
| + | git config --global --add safe.directory " | ||
| + | done | ||
| + | |||
| + | for repo in " | ||
| + | [ -d " | ||
| + | |||
| + | name=$(basename " | ||
| + | echo " | ||
| + | echo " | ||
| + | echo " | ||
| + | |||
| + | # 1) Repo in Gitea anlegen (falls noch nicht vorhanden) | ||
| + | echo " | ||
| + | curl -s -X POST " | ||
| + | -H " | ||
| + | -H " | ||
| + | -d "{ | ||
| + | \" | ||
| + | \" | ||
| + | }" \ | ||
| + | | jq -r ' | ||
| + | |||
| + | # 2) Mirror-Clone lokal erstellen | ||
| + | workdir=" | ||
| + | echo " | ||
| + | rm -rf " | ||
| + | if ! git clone --mirror " | ||
| + | echo "!! Fehler beim Clone von $name" | ||
| + | continue | ||
| + | fi | ||
| + | |||
| + | cd " | ||
| + | echo "!! Konnte nicht nach $workdir wechseln" | ||
| + | continue | ||
| + | } | ||
| + | |||
| + | # 3) Remote zu Gitea setzen (HTTPS + Token) | ||
| + | echo " | ||
| + | git remote remove gitea 2>/ | ||
| + | git remote add gitea " | ||
| + | |||
| + | # 4) Mirror-Push | ||
| + | echo " | ||
| + | if git push --mirror gitea; then | ||
| + | echo " | ||
| + | else | ||
| + | echo "!! Fehler beim Push von $name" | ||
| + | fi | ||
| + | |||
| + | echo | ||
| + | done | ||
| + | |||
| + | echo "=== LIVE-IMPORT ABGESCHLOSSEN ===" | ||
| + | </ | ||
server/gitea/datenimport/start.1779901581.txt.gz · Zuletzt geändert: von admin
