Outils pour utilisateurs

Outils du site


linux:proxmox-backup-server (lu 4548 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:proxmox-backup-server [07-12-2025 20:33] – [Installation] edmc73linux:proxmox-backup-server [02-01-2026 17:15] (Version actuelle) – [proxmox-backup-client] edmc73
Ligne 23: Ligne 23:
      
  
 +Une nouvelle source apt sera créé **pbs-enterprise.sources**
  
 +Ajoutez à la fin de ce fichier
  
 +  Enabled: false
  
 +===== Ajouter un server proxmox =====
  
 +Menu :
 +  * Configuration / Remotes
 +  * bouton Add
 +  * Auth ID : root@pam (par exemple)
 +  * FingerPrint 
 +    * Aller sur le server proxmox
 +    * Menu System / Certificates
 +    * Sélectionnez **pveproxy-ssl.pem**
 +    * Bouton **View certificate** et copier le **fingerprint**
 +
 +
 +===== proxmox-backup-client =====
 +
 +  * Un beau tuto bien complet -> https://youtu.be/ddZ-f_nuQ8k?si=AZ7eK69jOfGeD1aJ
 +  * Doc officiel -> https://pbs.proxmox.com/docs/backup-client.html
 +
 +On peut backuper des systèmes de fichiers voir même des systèmes de block avec la commande ''proxmox-backup-client'' en gardant les avantages de sauvegarde incrémentielle, chiffré etc...
 +
 +Mes exigences / contraintes :
 +  * Je ne veux pas que mon serveur distant puisse se connecter à mon serveur PBS (pour des raisons de sécurité)
 +  * Je met le password dans un fichier pour qu'il ne s'affiche pas dans les process
 +  * Installation obligatoire du binaire proxmox-backup-client sur le serveur distant
 +  * Connexion ssh par clé 
 +  * Tunnel ssh pour bénéficier de la déduplication de PBS
 +
 +Créer une paire de clés SSH dédié
 +  ssh-keygen -t ed25519 -f ~/.ssh/id_pbs_backup
 +
 +
 +On peut restreindre l'utilisation de ssh sur le serveur distant en éditant ''~/.ssh/authorized_keys''
 +  no-pty,no-X11-forwarding,no-agent-forwarding,command="/bin/echo 'Tunnel only'" ssh-ed25519 AAAAC3Nza... (votre clé)
 +
 +Automatiser la connexion ssh sur le serveur PBS en éditant le fichier ''~/.ssh/config''
 +<code>
 +Host sauvegarde-distante
 +    HostName IP_DU_SERVEUR_DISTANT
 +    User utilisateur
 +    IdentityFile ~/.ssh/id_pbs_backup
 +    RemoteForward 8007 localhost:8007
 +</code>
 +
 +
 +Exemple d'un script qui permet de sauvegarder une machine distante
 +<code bash>
 +#!/bin/bash
 +
 +# --- Configuration ---
 +REMOTE_USER="utilisateur"
 +REMOTE_HOST="ip_du_serveur_distant"
 +PBS_PASSWORD="ton_mot_de_passe_pbs"
 +PBS_REPOSITORY="utilisateur@localhost:8007:datastore"
 +BACKUP_PATH="/chemin/a/sauvegarder"
 +WEBHOOK_URL="https://votre-url-webhook.com/..."
 +
 +# Internes
 +SSH_CONTROL="~/.ssh/pbs_tunnel_control"
 +REMOTE_PASS_FILE="/tmp/.pbs_pass_tmp"
 +START_TIME=$(date +%s)
 +
 +# --- Fonction Webhook ---
 +send_notification() {
 +    curl -H "Content-Type: application/json" -X POST -d "{\"content\": \"$1\"}" "$WEBHOOK_URL" > /dev/null 2>&1
 +}
 +
 +send_notification "🚀 Début de la sauvegarde Proxmox pour **$REMOTE_HOST**."
 +
 +# 1. Ouverture du tunnel
 +# -M : Mode maître / -S : Fichier de contrôle (socket) / -fN : Arrière-plan sans commande
 +ssh -fN -M -S "$SSH_CONTROL" -R 8007:localhost:8007 "$REMOTE_USER@$REMOTE_HOST"
 +
 +# 2. Préparation du secret
 +ssh -S "$SSH_CONTROL" "$REMOTE_USER@$REMOTE_HOST" "echo '$PBS_PASSWORD' > $REMOTE_PASS_FILE && chmod 600 $REMOTE_PASS_FILE"
 +
 +# 3. Sauvegarde
 +ssh -S "$SSH_CONTROL" "$REMOTE_USER@$REMOTE_HOST" \
 +    "proxmox-backup-client backup root.pxar:$BACKUP_PATH --repository $PBS_REPOSITORY --password-file $REMOTE_PASS_FILE"
 +
 +BACKUP_EXIT_CODE=$?
 +END_TIME=$(date +%s)
 +DURATION=$((END_TIME - START_TIME))
 +H_DURATION=$(printf '%02dh %02dm %02ds\n' $((DURATION/3600)) $((DURATION%3600/60)) $((DURATION%60)))
 +
 +# 4. Nettoyage
 +ssh -S "$SSH_CONTROL" "$REMOTE_USER@$REMOTE_HOST" "rm -f $REMOTE_PASS_FILE"
 +ssh -S "$SSH_CONTROL" -O exit "$REMOTE_USER@$REMOTE_HOST"
 +
 +# --- Notification de fin ---
 +if [ $BACKUP_EXIT_CODE -eq 0 ]; then
 +    send_notification "✅ Sauvegarde réussie en **$H_DURATION**."
 +else
 +    send_notification "❌ Échec de la sauvegarde sur **$REMOTE_HOST** après $H_DURATION (Code: $BACKUP_EXIT_CODE)."
 +    exit $BACKUP_EXIT_CODE
 +fi
 +</code>
linux/proxmox-backup-server.1765139603.txt.gz · Dernière modification : de edmc73