#!/bin/bash source "${AGENT_PATH}/common.sh" source "$(dirname "${BASH_SOURCE[0]}")/_volumes.sh" _check_required_env_vars "CONTAINER_NAME" echo "Backing up ${CONTAINER_NAME} volumes..." # Stop the container to ensure data consistency bash ./stop.sh || true # Backup volumes BACKUP_DIR="${CONFIG_PATH}/backups/$(date +%Y%m%d_%H%M%S)" mkdir -p "$BACKUP_DIR" # Export volumes for volume in $(get_logclient_volumes); do volume_name=$(echo $volume | cut -d: -f3) echo "Backing up volume: $volume_name" docker run --rm -v "$volume_name:/source:ro" -v "$BACKUP_DIR:/backup" alpine \ tar -czf "/backup/${volume_name}.tar.gz" -C /source . done # Backup configuration cp -r "${CONFIG_PATH}" "$BACKUP_DIR/config_backup" echo "Backup completed to: $BACKUP_DIR" # Restart the container bash ./start.sh echo "Container restarted"