Initialize crypto_monitor_user (user edition) from monitor codebase.
Retarget git remote, install path, and deploy docs from crypto_monitor to crypto_monitor_user. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
#!/usr/bin/env bash
|
||||
# 中控 + 子代理 统一 PM2 快捷脚本
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
HUB_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
||||
ECO="${HUB_DIR}/ecosystem.config.cjs"
|
||||
|
||||
# 与 ecosystem.config.cjs 中 name 一致
|
||||
PM2_NAMES=(
|
||||
manual-agent-binance
|
||||
manual-agent-okx
|
||||
manual-agent-gate
|
||||
manual-trading-hub
|
||||
)
|
||||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
用法: bash scripts/pm2_hub.sh <start|stop|restart|status|logs|delete>
|
||||
|
||||
start 启动 ecosystem.config.cjs(3 路子代理 + 中控,已存在则 restart 全部)
|
||||
stop 停止全部
|
||||
restart 重启全部
|
||||
status pm2 status
|
||||
logs 全部相关进程日志
|
||||
delete 从 PM2 列表移除全部
|
||||
|
||||
仅中控: pm2 start ecosystem.config.cjs --only manual-trading-hub
|
||||
EOF
|
||||
}
|
||||
|
||||
cmd="${1:-}"
|
||||
|
||||
if ! command -v pm2 >/dev/null 2>&1; then
|
||||
echo "未找到 pm2,请先: npm install -g pm2" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -f "${ECO}" ]]; then
|
||||
echo "未找到 ${ECO}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "${HUB_DIR}"
|
||||
|
||||
_any_running() {
|
||||
local n
|
||||
for n in "${PM2_NAMES[@]}"; do
|
||||
if pm2 describe "${n}" >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
case "${cmd}" in
|
||||
start)
|
||||
if _any_running; then
|
||||
pm2 restart "${ECO}"
|
||||
echo "已重启:hub + 全部 agent"
|
||||
else
|
||||
pm2 start "${ECO}"
|
||||
echo "已启动:hub + 全部 agent(共 ${#PM2_NAMES[@]} 个进程)"
|
||||
fi
|
||||
pm2 save 2>/dev/null || true
|
||||
;;
|
||||
stop)
|
||||
pm2 stop "${PM2_NAMES[@]}" 2>/dev/null || echo "部分或全部进程未在运行"
|
||||
;;
|
||||
restart)
|
||||
if _any_running; then
|
||||
pm2 restart "${ECO}"
|
||||
else
|
||||
pm2 start "${ECO}"
|
||||
fi
|
||||
;;
|
||||
status)
|
||||
pm2 status
|
||||
;;
|
||||
logs)
|
||||
pm2 logs "${PM2_NAMES[@]}" --lines 100
|
||||
;;
|
||||
delete)
|
||||
pm2 delete "${PM2_NAMES[@]}" 2>/dev/null || echo "部分或全部进程不存在"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user