#!/bin/bash # Variables REMOTE_USER="root" REMOTE_HOST="newkube.ia86.cc" REMOTE_PORT=21253 REMOTE_ZFS_POOL="data" LOCAL_DATASETS=("data/database" "data/minio" "data/standard") SNAP_NAME="transfer_$(date +%Y%m%d%H%M%S)" # Transfert for dataset in "${LOCAL_DATASETS[@]}"; do echo "Création snapshot local de $dataset@$SNAP_NAME..." zfs snapshot "${dataset}@${SNAP_NAME}" echo "Envoi de $dataset@$SNAP_NAME..." ssh -p $REMOTE_PORT -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST "zfs list $REMOTE_ZFS_POOL/$(basename $dataset)" >/dev/null 2>&1 if [ $? -ne 0 ]; then ssh -p $REMOTE_PORT -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST "zfs create $REMOTE_ZFS_POOL/$(basename $dataset)" fi zfs send "${dataset}@${SNAP_NAME}" | ssh -p $REMOTE_PORT -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST "zfs receive -F $REMOTE_ZFS_POOL/$(basename $dataset)" if [ $? -eq 0 ]; then echo "✅ $dataset transféré avec succès." else echo "❌ Échec du transfert de $dataset." fi done echo "Tous les datasets ont été transférés."