blob: bc40bf65dcfded978efa89176aa64dcbf442324b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#!/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] <zookeeper-address> <kafka-topics.sh> [<topic-name-regex>]"
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"
|