init
This commit is contained in:
42
stop.sh
Executable file
42
stop.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
# =============================================================================
|
||||
# stop.sh — 停止后端 Go 服务
|
||||
#
|
||||
# 用法:
|
||||
# ./stop.sh # 停止全部后端服务
|
||||
# ./stop.sh <svc> # 只停止指定服务
|
||||
#
|
||||
# 注意:此命令只停止后端进程,不影响 Docker 容器(Redis/Kafka/Etcd)
|
||||
# 如需停止 Docker 容器,执行: ./stop-infra.sh
|
||||
# =============================================================================
|
||||
set -euo pipefail
|
||||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh"
|
||||
init_dirs
|
||||
init_script_log # ← 脚本执行日志
|
||||
|
||||
TARGET="${1:-all}"
|
||||
|
||||
if [[ "$TARGET" == "all" ]]; then
|
||||
step "停止所有后端服务"
|
||||
for svc in "${ALL_SVCS[@]}"; do
|
||||
stop_svc "$svc"
|
||||
done
|
||||
echo ""
|
||||
success "所有后端服务已停止"
|
||||
echo ""
|
||||
echo -e "如需停止 Docker 基础设施:"
|
||||
echo -e " ${CYAN}./deploy-test/stop-infra.sh${NC}"
|
||||
else
|
||||
step "停止服务: $TARGET"
|
||||
# 验证服务名合法
|
||||
local_valid=false
|
||||
for svc in "${ALL_SVCS[@]}"; do
|
||||
[[ "$svc" == "$TARGET" ]] && local_valid=true && break
|
||||
done
|
||||
if ! $local_valid; then
|
||||
error "未知服务: $TARGET"
|
||||
echo "可用: ${ALL_SVCS[*]}"
|
||||
exit 1
|
||||
fi
|
||||
stop_svc "$TARGET"
|
||||
fi
|
||||
Reference in New Issue
Block a user