#!/bin/bash # Variables REMOTE_USER="root" REMOTE_HOST="195.201.173.157" REMOTE_PORT=21253 REMOTE_ZFS_POOL="data" LOCAL_DATASETS=("data/database" "data/minio" "data/standard") for dataset in "${LOCAL_DATASETS[@]}"; do echo "🔍 Copie des propriétés personnalisées du dataset $dataset..." if [[ "$dataset" == *"@"* ]]; then echo "⚠️ Ignoré (snapshot détecté) : $dataset" continue fi REMOTE_DATASET="$REMOTE_ZFS_POOL/$(basename "$dataset")" # Lecture manuelle propre mapfile -t props < <(zfs get -H -o property,value all "$dataset") for line in "${props[@]}"; do prop=$(echo "$line" | awk '{print $1}') val=$(echo "$line" | cut -f2- | sed -E 's/^[^[:space:]]+[[:space:]]+//') if [[ "$prop" == *:* && -n "$val" ]]; then echo "🔧 $prop=$val ➔ $REMOTE_DATASET sur $REMOTE_HOST" ssh -p "$REMOTE_PORT" -o StrictHostKeyChecking=no "$REMOTE_USER@$REMOTE_HOST" \ "zfs set \"$prop=$val\" \"$REMOTE_DATASET\"" || echo "⚠️ Erreur propriété $prop sur $REMOTE_DATASET" fi done echo "✅ Propriétés personnalisées copiées pour $dataset ➔ $REMOTE_DATASET." done echo "🎉 Toutes les propriétés utilisateurs *:* ZFS ont été copiées vers $REMOTE_HOST."