Kafka
Kafka 토픽명에 날짜가 포함된 경우 오래된 날짜의 토픽 주기적으로 삭제하기
재심
2022. 10. 27. 11:09
일배치 작업을 위해 날짜가 포함되어 생성된 Kafka 토픽이 있을 수 있다.
ex) topic-20221026
이 경우 시간이 흐를수록 토픽은 쌓이기만하므로 정기적으로 삭제해줄 필요가 있을 수 있다.
아래와 같은 스크립트 작성 후 Jenkins에서 스케줄링하는 방식으로 시도
#30일전 이름을 가진 토픽들을 배열에 담음
OLD_DAY=`date +%Y%m%d -d -30day`
TOPICS=(`sudo kafka-topics --bootstrap-server localhost:9092 --list | grep $OLD_DAY`)
#배열을 순회하면서 삭제
for topic in ${TOPICS[@]}
do
sudo kafka-topics --bootstrap-server localhost:9092 --delete --topic $topic
done