Bonjour,
Je cherche à aller bien plus loin que le simple backup. Je m’explique. Mon câble SATA a rendu l’âme avec mon SSD. J’ai eu peur de perdre tout mon Jeedom en 4.1.19 qui tourne du feu de dieu sur Pi 4 avec Debian 10.
J’ai énormément de choses dessus en plus de Jeedom et je ne veux rien perdre en cas de perte du SSD.
Mon but est donc de réussir à créer un script shell à lancer manuellement après un ajout de matériel ou gros changement de scénario. Ça crée un fichier .img global de tout le Pi et ça l’envoie sur un NAS sur réseau local.
Cela permettrait d’avoir juste le fichier .img à remettre sur un support si le premier a le moindre problème.
Pouvez vous m’aider à faire ça ? Ça risque de servir à pas mal de monde et c’est adaptable à toutes les versions Debian et Jeedom pour ne jamais galérer en cas de problème.
Merci d’avance
Bonjour,
rpi-clone devrait répondre à ton besoin.
1 « J'aime »
J’ai demandé à ChatGPT et il m’a sorti ceci.
Qu’en pensez vous ?
#!/bin/bash
# ==========================================================
# Snapshot complet du Raspberry Pi avec Debian + Jeedom
# Création d'une image compressée .img.gz prête à reflasher
# ==========================================================
# --- Variables à adapter ---
DISK_SOURCE="/dev/sda" # Le disque à cloner (ton SSD principal)
OUTPUT_DIR="/mnt/nas" # Répertoire de destination sur ton NAS ou local
LOG_FILE="/var/log/snapshot_jeedom.log" # Fichier de log
DATE=$(date +%Y-%m-%d_%Hh%M) # Horodatage pour le nom de l'image et log
OUTPUT_NAME="snapshot_jeedom_${DATE}.img.gz" # Nom de l'image avec date
# --- Fonctions de log ---
log() {
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}
# --- Début du snapshot ---
log "=== Début du snapshot Jeedom ($DATE) ==="
# --- Monter le NAS si nécessaire ---
if ! mountpoint -q "$OUTPUT_DIR"; then
log "Montage NAS..."
# Exemple pour un NAS SMB (adapter username/password et chemin)
sudo mount -t cifs -o username=ton_utilisateur,password=ton_mot_de_passe //192.168.1.50/Jeedom_Backups "$OUTPUT_DIR"
if [ $? -ne 0 ]; then
log "Erreur : impossible de monter le NAS !"
exit 1
fi
fi
# --- Arrêt des services Jeedom pour cohérence ---
log "Arrêt des services Jeedom..."
sudo systemctl stop apache2
sudo systemctl stop mysql
# --- Création de l'image compressée ---
log "Création de l'image compressée de $DISK_SOURCE..."
sudo dd if="$DISK_SOURCE" bs=4M status=progress | gzip > "$OUTPUT_DIR/$OUTPUT_NAME"
if [ $? -ne 0 ]; then
log "Erreur : la création de l'image a échoué !"
# Relancer quand même les services
sudo systemctl start mysql
sudo systemctl start apache2
exit 1
fi
# --- Redémarrage des services ---
log "Redémarrage des services Jeedom..."
sudo systemctl start mysql
sudo systemctl start apache2
log "Snapshot terminé avec succès : $OUTPUT_DIR/$OUTPUT_NAME"
log "=== Fin du snapshot ==="
Nettement moins souple que rpi-clone et sûrement beaucoup plus lent selon la taille du disque.
1 « J'aime »
Pourrais tu m’aider à le faire dans ce cas ?
J’aime apprendre ce genre de chose.
Merci
Fais une recherche sur ce forum, il y a un tuto
Je ne trouve pas le tuto. Peux tu partager le lien ? Merci