37 lines
965 B
Bash
37 lines
965 B
Bash
#!/bin/bash
|
||
|
||
# Variables
|
||
BACKUP_DIR="/backup/gitea"
|
||
GITEA_DATA="/var/lib/gitea/data"
|
||
GITEA_CONFIG="/etc/gitea"
|
||
GITEA_BIN="/usr/local/bin"
|
||
DATE=$(date +"%Y-%m-%d")
|
||
ARCHIVE_NAME="gitea-backup-$DATE.tar.gz"
|
||
|
||
# Créer le dossier de sauvegarde s'il n'existe pas
|
||
mkdir -p "$BACKUP_DIR"
|
||
|
||
# Arrêter Gitea pour éviter les incohérences
|
||
echo "Arrêt de Gitea..."
|
||
systemctl stop gitea
|
||
|
||
# Vérifier si le répertoire des binaires existe
|
||
if [ -d "$GITEA_BIN" ]; then
|
||
EXTRA_PATH="$GITEA_BIN"
|
||
else
|
||
EXTRA_PATH=""
|
||
fi
|
||
|
||
# Création de l’archive de sauvegarde
|
||
echo "Archivage des fichiers Gitea..."
|
||
tar -czf "$BACKUP_DIR/$ARCHIVE_NAME" "$GITEA_DATA" "$GITEA_CONFIG" $EXTRA_PATH
|
||
|
||
# Redémarrer Gitea
|
||
echo "Redémarrage de Gitea..."
|
||
systemctl start gitea
|
||
|
||
# Nettoyage des sauvegardes de plus de 7 jours
|
||
echo "Suppression des anciennes sauvegardes..."
|
||
find "$BACKUP_DIR" -type f -name "gitea-backup-*.tar.gz" -mtime +7 -exec rm {} \;
|
||
|
||
echo "Sauvegarde terminée avec succès." |