59 lines
1.4 KiB
Bash
59 lines
1.4 KiB
Bash
#!/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.agents.config.cjs"
|
|
|
|
usage() {
|
|
cat <<'EOF'
|
|
用法: bash scripts/pm2_agents.sh <start|stop|restart|status|logs|delete>
|
|
|
|
start 启动 ecosystem.agents.config.cjs 中全部子代理
|
|
stop 停止全部 manual-agent-*
|
|
restart 重启全部
|
|
status pm2 status
|
|
logs 全部子代理日志
|
|
delete 从 PM2 移除
|
|
|
|
仅启动币安: pm2 start ecosystem.agents.config.cjs --only manual-agent-binance
|
|
EOF
|
|
}
|
|
|
|
cmd="${1:-}"
|
|
|
|
if ! command -v pm2 >/dev/null 2>&1; then
|
|
echo "未找到 pm2,请先: npm install -g pm2" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "${HUB_DIR}"
|
|
|
|
case "${cmd}" in
|
|
start)
|
|
pm2 start "${ECO}"
|
|
pm2 save 2>/dev/null || true
|
|
;;
|
|
stop)
|
|
pm2 stop manual-agent-binance manual-agent-okx manual-agent-gate manual-agent-gate-bot 2>/dev/null || true
|
|
;;
|
|
restart)
|
|
pm2 restart manual-agent-binance manual-agent-okx manual-agent-gate manual-agent-gate-bot 2>/dev/null \
|
|
|| pm2 start "${ECO}"
|
|
;;
|
|
status)
|
|
pm2 status
|
|
;;
|
|
logs)
|
|
pm2 logs manual-agent-binance manual-agent-okx manual-agent-gate manual-agent-gate-bot --lines 100
|
|
;;
|
|
delete)
|
|
pm2 delete manual-agent-binance manual-agent-okx manual-agent-gate manual-agent-gate-bot 2>/dev/null || true
|
|
;;
|
|
*)
|
|
usage
|
|
exit 1
|
|
;;
|
|
esac
|