#!/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 <