Template
22 lines
720 B
Bash
22 lines
720 B
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
APP_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PREFIX_FILE="$APP_DIR/.service-prefix"
|
|
[ -f "$PREFIX_FILE" ] || { echo "缺少 $PREFIX_FILE,请先运行 initializer"; exit 1; }
|
|
SERVICE_PREFIX="$(tr -d '\r\n' < "$PREFIX_FILE")"
|
|
[[ "$SERVICE_PREFIX" =~ ^[A-Za-z0-9][A-Za-z0-9_.-]*$ ]] || { echo "无效的服务前缀: $SERVICE_PREFIX"; exit 1; }
|
|
SERVICES=("${SERVICE_PREFIX}-server" "${SERVICE_PREFIX}-cli" "${SERVICE_PREFIX}-scheduler")
|
|
|
|
for svc in "${SERVICES[@]}"; do
|
|
if systemctl is-active --quiet "$svc"; then
|
|
echo "[$svc] 已在运行"
|
|
else
|
|
systemctl start "$svc"
|
|
echo "[$svc] 已启动"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
systemctl status "${SERVICES[@]}" --no-pager -l
|