#!/bin/bash CONTAINER_NAME="$1" BACKUP_DIR="$2" VOLUME_NAME="$3" if [ -z "$BACKUP_DIR" ]; then echo "Usage: $0 " exit 1 fi if [ ! -d "$BACKUP_DIR" ]; then echo "Directory $BACKUP_DIR does not exist" exit 1 fi # Load image docker load -i "$BACKUP_DIR/${CONTAINER_NAME}_backup.tar" if [ ! -f "${BACKUP_DIR}/${VOLUME_NAME}".tar.gz ]; then echo "Restoring volume ${VOLUME_NAME}" docker volume create "$VOLUME_NAME" docker run --rm -v "$VOLUME_NAME":/data -v "$BACKUP_DIR":/backup busybox tar xzf /backup/"$VOLUME_NAME".tar.gz -C /data fi echo "Restore complete. Deploy using: ${BACKUP_DIR}/${CONTAINER_NAME}_deploy.sh"