chore(job_crawler): enhance deploy script with Kafka logging and reset functionality

- Add logs-kafka command to view Kafka container logs separately
- Implement reset command to clean data volumes and reinitialize services
- Add confirmation prompt for destructive reset operation
- Update help text to clarify logs command shows application logs
- Improve command case statement alignment for better readability
- Add documentation for new reset command with data volume cleanup
- Separate clean command documentation to focus on image pruning only
This commit is contained in:
2026-01-15 18:03:21 +08:00
parent 3cacaf040a
commit 53288327a1

View File

@@ -29,9 +29,11 @@ show_help() {
echo " up 启动所有服务 (docker-compose)" echo " up 启动所有服务 (docker-compose)"
echo " down 停止所有服务" echo " down 停止所有服务"
echo " restart 重启应用服务" echo " restart 重启应用服务"
echo " logs 查看日志" echo " logs 查看应用日志"
echo " logs-kafka 查看Kafka日志"
echo " status 查看服务状态" echo " status 查看服务状态"
echo " clean 清理无用镜像" echo " clean 清理无用镜像"
echo " reset 清理数据卷并重新启动(慎用)"
echo " help 显示帮助" echo " help 显示帮助"
} }
@@ -87,11 +89,16 @@ restart() {
log_info "重启完成" log_info "重启完成"
} }
# 查看日志 # 查看应用日志
logs() { logs() {
docker-compose logs -f --tail=100 app docker-compose logs -f --tail=100 app
} }
# 查看Kafka日志
logs_kafka() {
docker-compose logs -f --tail=100 kafka
}
# 查看状态 # 查看状态
status() { status() {
echo "=== 容器状态 ===" echo "=== 容器状态 ==="
@@ -101,23 +108,46 @@ status() {
curl -s http://localhost:8000/status 2>/dev/null | python -m json.tool || echo "服务未启动" curl -s http://localhost:8000/status 2>/dev/null | python -m json.tool || echo "服务未启动"
} }
# 清理 # 清理镜像
clean() { clean() {
log_info "清理无用镜像..." log_info "清理无用镜像..."
docker image prune -f docker image prune -f
log_info "清理完成" log_info "清理完成"
} }
# 重置:清理数据卷并重新启动
reset() {
log_warn "即将清理所有数据卷Kafka数据、采集进度等是否继续[y/N]"
read -r confirm
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
log_info "已取消"
exit 0
fi
log_info "停止服务..."
docker-compose down -v
log_info "清理数据卷..."
docker volume rm job_crawler_kafka_data job_crawler_zookeeper_data job_crawler_app_data 2>/dev/null || true
log_info "重新启动..."
docker-compose up -d
log_info "重置完成"
}
# 主逻辑 # 主逻辑
case "${1:-help}" in case "${1:-help}" in
build) build ;; build) build ;;
push) push ;; push) push ;;
up) up ;; up) up ;;
down) down ;; down) down ;;
restart) restart ;; restart) restart ;;
logs) logs ;; logs) logs ;;
status) status ;; logs-kafka) logs_kafka ;;
clean) clean ;; status) status ;;
help) show_help ;; clean) clean ;;
*) show_help ;; reset) reset ;;
help) show_help ;;
*) show_help ;;
esac esac