update for borgmatic 2.0

This commit is contained in:
BeauTroll
2025-12-16 05:50:03 +01:00
parent 92d9b530f3
commit 66e4cd166f
6 changed files with 173 additions and 94 deletions

View File

@@ -35,24 +35,82 @@ fi
# 1. Installation de Borgmatic et Borg
echo -e "${YELLOW}📦 Installation de Borgmatic et Borg...${NC}"
case $OS in
ubuntu|debian)
apt-get update
apt-get install -y borgbackup borgmatic curl
;;
arch|manjaro)
pacman -Syu --noconfirm borgmatic borg curl
;;
fedora|rhel|centos)
dnf install -y borgbackup borgmatic curl
;;
*)
echo -e "${RED}❌ Distribution non supportée: $OS${NC}"
exit 1
;;
esac
# Vérifier si Borgmatic est déjà installé
if command -v borgmatic &> /dev/null; then
BORGMATIC_VERSION=$(borgmatic --version 2>&1 | grep -oP '\d+\.\d+\.\d+' | head -1)
MAJOR_VERSION=$(echo $BORGMATIC_VERSION | cut -d. -f1)
echo -e "${GREEN}✅ Borgmatic et Borg installés${NC}"
if [ "$MAJOR_VERSION" -lt 2 ]; then
echo -e "${YELLOW}⚠️ Borgmatic $BORGMATIC_VERSION détecté (version < 2.0)${NC}"
echo -e "${YELLOW} Cette configuration nécessite Borgmatic ≥ 2.0.0${NC}"
echo -e "${YELLOW} Installation via pipx recommandée...${NC}"
# Installer pipx si pas déjà fait
case $OS in
ubuntu|debian)
apt-get update
apt-get install -y pipx
;;
arch|manjaro)
pacman -Syu --noconfirm python-pipx
;;
fedora|rhel|centos)
dnf install -y pipx
;;
esac
# Installer Borgmatic via pipx
pipx install borgmatic --force
# Créer les liens symboliques
ln -sf /root/.local/bin/borgmatic /usr/local/bin/borgmatic
ln -sf /root/.local/bin/generate-borgmatic-config /usr/local/bin/generate-borgmatic-config
echo -e "${GREEN}✅ Borgmatic 2.0+ installé via pipx${NC}"
else
echo -e "${GREEN}✅ Borgmatic $BORGMATIC_VERSION déjà installé${NC}"
fi
else
echo -e "${YELLOW}Installation de Borgmatic via pipx...${NC}"
# Installer pipx
case $OS in
ubuntu|debian)
apt-get update
apt-get install -y pipx
;;
arch|manjaro)
pacman -Syu --noconfirm python-pipx
;;
fedora|rhel|centos)
dnf install -y pipx
;;
esac
# Installer Borgmatic
pipx install borgmatic
# Créer les liens symboliques
ln -sf /root/.local/bin/borgmatic /usr/local/bin/borgmatic
ln -sf /root/.local/bin/generate-borgmatic-config /usr/local/bin/generate-borgmatic-config
fi
# Installer Borg si pas déjà fait
if ! command -v borg &> /dev/null; then
case $OS in
ubuntu|debian)
apt-get install -y borgbackup curl
;;
arch|manjaro)
pacman -Syu --noconfirm borg curl
;;
fedora|rhel|centos)
dnf install -y borgbackup curl
;;
esac
fi
echo -e "${GREEN}✅ Installation terminée${NC}"
# 2. Créer les répertoires nécessaires
echo -e "${YELLOW}📁 Création des répertoires...${NC}"
@@ -114,7 +172,7 @@ else
fi
# Test de la configuration (sans exécuter de backup)
if validate-borgmatic-config > /dev/null 2>&1; then
if borgmatic config validate > /dev/null 2>&1; then
echo -e "${GREEN}✅ Configuration valide${NC}"
else
echo -e "${YELLOW}⚠️ Validation de la configuration...${NC}"