#!/bin/bash # set -e if [[ "$1" == "-n" ]]; then DO_DELETE=0 shift else DO_DELETE=1 fi ZK=$1 KATOPS=$2 RE=$3 if [[ -z "$ZK" ]]; then ZK="$ZK_ADDRESS" fi if [[ -z "$KATOPS" ]]; then if [[ -d "$KAFKA_PATH" ]]; then KATOPS="$KAFKA_PATH/bin/kafka-topics.sh" fi fi if [[ -z "$RE" ]]; then RE="^rdkafkatest_" fi if [[ -z "$KATOPS" ]]; then echo "Usage: $0 [-n] []" echo "" echo "Deletes all topics matching regex $RE" echo "" echo " -n - Just collect, dont actually delete anything" exit 1 fi set -u echo -n "Collecting list of matching topics... " TOPICS=$($KATOPS --zookeeper $ZK --list 2>/dev/null | grep "$RE") || true N_TOPICS=$(echo "$TOPICS" | wc -w) echo "$N_TOPICS topics found" for t in $TOPICS; do if [[ $DO_DELETE == 1 ]]; then echo -n "Deleting topic $t... " ($KATOPS --zookeeper $ZK --delete --topic "$t" 2>/dev/null && echo "deleted") || echo "failed" else echo "Topic $t" fi done echo "Done"