From 31f4c1bcf85736ab5b82eae33d010336fc62946e Mon Sep 17 00:00:00 2001 From: raimbass Date: Fri, 3 Oct 2025 12:10:16 +0200 Subject: [PATCH] 03/10/2025 --- Git/Git-local/Restore/etape1.sh | 27 ++++++++++++ Git/Git-local/Restore/etape2.sh | 77 +++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 Git/Git-local/Restore/etape1.sh create mode 100755 Git/Git-local/Restore/etape2.sh diff --git a/Git/Git-local/Restore/etape1.sh b/Git/Git-local/Restore/etape1.sh new file mode 100644 index 0000000..c65507a --- /dev/null +++ b/Git/Git-local/Restore/etape1.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +echo "=== Mise à jour des paquets ===" +sudo apt update + +echo "=== Installation de Git ===" +sudo apt install -y git wget + +echo "=== Vérification de la version de Git ===" +git --version + +echo "=== Téléchargement de Gitea ===" +sudo wget -O gitea https://dl.gitea.io/gitea/1.23.6/gitea-1.23.6-linux-amd64 + +echo "=== Application des permissions et déplacement ===" +sudo chmod +x gitea +sudo mv gitea /usr/local/bin/ + +echo "=== Création de l’utilisateur système git ===" +sudo adduser --system --group --home /var/lib/gitea --shell /bin/sh git + +echo "=== Installation terminée ! ===" +gitea --version + + + diff --git a/Git/Git-local/Restore/etape2.sh b/Git/Git-local/Restore/etape2.sh new file mode 100755 index 0000000..805597c --- /dev/null +++ b/Git/Git-local/Restore/etape2.sh @@ -0,0 +1,77 @@ +#!/bin/bash +set -e + +# Trouver tous les backups triés par date décroissante (plus récent en premier) +ALL_BACKUPS=( $(ls -t /vagrant/gitea-backup-*.tar.gz 2>/dev/null) ) + +if [ ${#ALL_BACKUPS[@]} -eq 0 ]; then + echo "❌ Aucun fichier de backup trouvé dans /vagrant !" + exit 1 +fi + +# Le plus récent +BACKUP_TAR="${ALL_BACKUPS[0]}" +echo "🗂️ Utilisation du backup le plus récent : $BACKUP_TAR" + +# Supprimer les autres +for OLD_BACKUP in "${ALL_BACKUPS[@]:1}"; do + echo "🗑️ Suppression de l'ancien backup : $OLD_BACKUP" + rm -f "$OLD_BACKUP" +done + +TMP_DIR="/home/vagrant/backup" + +# Nettoyer et recréer le répertoire temporaire +sudo rm -rf $TMP_DIR +sudo mkdir -p $TMP_DIR + +# Extraire uniquement le dernier backup +sudo tar -xzf "$BACKUP_TAR" -C $TMP_DIR + +# Restaurer le binaire, la config et les données +sudo rsync -av --chown=git:git $TMP_DIR/usr/local/bin/gitea /usr/local/bin/ +sudo chmod +x /usr/local/bin/gitea + +sudo rsync -av --chown=git:git $TMP_DIR/etc/gitea/ /etc/gitea/ +sudo rsync -av --chown=git:git $TMP_DIR/var/lib/gitea/ /var/lib/gitea/ + +# Permissions +sudo chown -R git:git /var/lib/gitea /etc/gitea +sudo chmod -R 750 /var/lib/gitea /etc/gitea + +# Vérifier le répertoire home +sudo mkdir -p /home/git +sudo chown -R git:git /home/git + +# Créer le service systemd si absent +if [ ! -f /etc/systemd/system/gitea.service ]; then + echo "⚙️ Création du service systemd Gitea..." + sudo tee /etc/systemd/system/gitea.service > /dev/null <