#!/bin/bash set -e cleanup_except() { local directory=$1 local except_file=$2 # Check if the directory exists if [[ ! -d "$directory" ]]; then echo "Directory does not exist: $directory" return 1 fi # Loop over each file in the directory for file in "$directory"/* do if [[ "$(basename "$file")" != "$except_file" ]]; then # Delete the file rm -rf "$file" echo "Removed $file" fi done } SCRIPT_DIR=$(readlink -f $(dirname "${BASH_SOURCE[0]}")) REPO_DIR=$(dirname $SCRIPT_DIR) alias compose="compose -f $REPO_DIR/docker-compose.yml" docker compose down cleanup_except "$REPO_DIR/mosquitto/config" mosquitto.conf cleanup_except "$REPO_DIR/mosquitto/data" .gitkeep cleanup_except "$REPO_DIR/mosquitto/log" cleanup_except "$REPO_DIR/zigbee2mqtt" configuration.yaml