03/10/2025
This commit is contained in:
parent
c30146ec51
commit
31f4c1bcf8
27
Git/Git-local/Restore/etape1.sh
Normal file
27
Git/Git-local/Restore/etape1.sh
Normal file
@ -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
|
||||
|
||||
|
||||
|
||||
77
Git/Git-local/Restore/etape2.sh
Executable file
77
Git/Git-local/Restore/etape2.sh
Executable file
@ -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 <<EOF
|
||||
[Unit]
|
||||
Description=Gitea (Git with a cup of tea)
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
RestartSec=2s
|
||||
Type=simple
|
||||
User=git
|
||||
Group=git
|
||||
WorkingDirectory=/var/lib/gitea/
|
||||
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/conf/app.ini
|
||||
Restart=always
|
||||
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
sudo systemctl enable gitea
|
||||
fi
|
||||
|
||||
# Redémarrer Gitea
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl restart gitea
|
||||
sudo systemctl status gitea --no-pager
|
||||
|
||||
echo "✅ Restauration terminée avec le backup le plus récent : $BACKUP_TAR"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user