38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/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."
|