36 lines
943 B
Bash
Executable File
36 lines
943 B
Bash
Executable File
#!/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
|
|
# echo "Cleanup complete in $directory, except for $except_file"
|
|
}
|
|
|
|
SCRIPT_DIR=$(readlink -f $(dirname "${BASH_SOURCE[0]}"))
|
|
REPO_DIR=$(dirname $SCRIPT_DIR)
|
|
COMPOSE_FILE=$REPO_DIR/docker-compose.yml
|
|
|
|
docker compose -f $COMPOSE_FILE 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
|