diff --git a/htyproc/start.sh b/htyproc/start.sh index 72fab7b..a88e276 100755 --- a/htyproc/start.sh +++ b/htyproc/start.sh @@ -1,9 +1,18 @@ -#!/bin/sh -set -x - -echo "----------------------------" >> htyproc.log -echo "$(date)" >> htyproc.log -echo "----------------------------" >> htyproc.log - -nohup cargo run >> htyproc.log & - +#!/usr/bin/env bash +# 与 scripts/moicen_start_huiwings_stack.sh 一致:清代理、可选 --release、追加 htyproc.nohup.log(纳入 logrotate.config)。 +set -euo pipefail +HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$HERE" +{ + echo "----------------------------" + date + echo "----------------------------" +} >>htyproc.nohup.log +CARGO_NO_PROXY=(env -u ALL_PROXY -u all_proxy -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY) +_SRC_ENV='[ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env"' +REL_CMD="exec cargo run" +if [ -f "$HERE/../target/release/htyproc" ]; then + REL_CMD="exec cargo run --release" +fi +nohup "${CARGO_NO_PROXY[@]}" bash -c "$_SRC_ENV; $REL_CMD" >>htyproc.nohup.log 2>&1 & +echo "htyproc pid=$! 日志: $HERE/htyproc.nohup.log" diff --git a/htyts/start.sh b/htyts/start.sh index 105a257..b67e483 100755 --- a/htyts/start.sh +++ b/htyts/start.sh @@ -1,9 +1,18 @@ -#!/bin/sh -set -x - -echo "----------------------------" >> htyts.log -echo "$(date)" >> htyts.log -echo "----------------------------" >> htyts.log - -nohup cargo run >> htyts.log & - +#!/usr/bin/env bash +# 与 scripts/moicen_start_huiwings_stack.sh 一致:清代理、可选 --release、追加 htyts.nohup.log(纳入 logrotate.config)。 +set -euo pipefail +HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$HERE" +{ + echo "----------------------------" + date + echo "----------------------------" +} >>htyts.nohup.log +CARGO_NO_PROXY=(env -u ALL_PROXY -u all_proxy -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY) +_SRC_ENV='[ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env"' +REL_CMD="exec cargo run" +if [ -f "$HERE/../target/release/htyts" ]; then + REL_CMD="exec cargo run --release" +fi +nohup "${CARGO_NO_PROXY[@]}" bash -c "$_SRC_ENV; $REL_CMD" >>htyts.nohup.log 2>&1 & +echo "htyts pid=$! 日志: $HERE/htyts.nohup.log" diff --git a/scripts/moicen_start_huiwings_stack.sh b/scripts/moicen_start_huiwings_stack.sh index 05eb90c..43fe705 100755 --- a/scripts/moicen_start_huiwings_stack.sh +++ b/scripts/moicen_start_huiwings_stack.sh @@ -4,6 +4,7 @@ # 日志轮转:见仓库 `huike-back/run_rotate.sh` 与 `plan_skills/moicen/moicen-cutover-config-worklog-2026-04-26.md` §8.1(新机 weli crontab 每 5 分钟)。 # 在 huike-back 根以: ./scripts/moicen_start_huiwings_stack.sh # htyts:存在 htyts/.env 且未设 MOICEN_START_HTYTS=0|no 时默认随栈启动;否则显式 MOICEN_START_HTYTS=1|yes。 +# htyproc:存在 htyproc/.env 且未设 MOICEN_START_HTYPROC=0|no 时默认随栈启动;否则显式 MOICEN_START_HTYPROC=1|yes(建议在 htyts 之后起)。 # 可设 MOICEN_HUIKE_ROOT / MOICEN_AUTH_ROOT 为绝对路径(默认=本脚本的 ../ 与 ../AuthCore)。 set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" @@ -70,9 +71,29 @@ if [ "$_start_htyts" = 1 ]; then ( cd "$HUIKE/htyts" && nohup "${CARGO_NO_PROXY[@]}" bash -c "$_SRC_ENV; exec cargo run $REL" >>"$HUIKE/htyts/htyts.nohup.log" 2>&1 ) & fi +# htyproc:显式 MOICEN_START_HTYPROC=1|yes;或未设置且存在 htyproc/.env 时默认启动。MOICEN_START_HTYPROC=0|no 则不启动。 +_start_htyproc=0 +if [ -d "$HUIKE/htyproc" ]; then + if [ "${MOICEN_START_HTYPROC:-}" = 0 ] || [ "${MOICEN_START_HTYPROC:-}" = no ]; then + _start_htyproc=0 + elif [ "${MOICEN_START_HTYPROC:-}" = 1 ] || [ "${MOICEN_START_HTYPROC:-}" = yes ]; then + _start_htyproc=1 + elif [ -f "$HUIKE/htyproc/.env" ]; then + _start_htyproc=1 + fi +fi +if [ "$_start_htyproc" = 1 ]; then + ( cd "$HUIKE/htyproc" && nohup "${CARGO_NO_PROXY[@]}" bash -c "$_SRC_ENV; exec cargo run $REL" >>"$HUIKE/htyproc/htyproc.nohup.log" 2>&1 ) & +fi + echo "已后台启动。日志: $AUTH/htyuc/htyuc.nohup.log, $HUIKE/htyws/htyws.nohup.log, $HUIKE/htykc/htykc.nohup.log" if [ "$_start_htyts" = 1 ]; then echo "htyts 已启动(或已设 MOICEN_START_HTYTS=1|yes)。日志: $HUIKE/htyts/htyts.nohup.log" else echo "htyts 未启动:无 htyts/.env 时请 cp envs/moicen/htyts.env;需显式关闭时 export MOICEN_START_HTYTS=0" fi +if [ "$_start_htyproc" = 1 ]; then + echo "htyproc 已启动。日志: $HUIKE/htyproc/htyproc.nohup.log" +else + echo "htyproc 未启动:无 htyproc/.env 时请 cp envs/moicen/htyproc.env;需显式关闭时 export MOICEN_START_HTYPROC=0" +fi diff --git a/scripts/moicen_stop_huiwings_stack.sh b/scripts/moicen_stop_huiwings_stack.sh index 282de2e..1c4dbef 100755 --- a/scripts/moicen_stop_huiwings_stack.sh +++ b/scripts/moicen_stop_huiwings_stack.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -# 在**即将下线的** moicen 或切流量前,结束 UC/WS/KC/htyts 的 cargo 可执行体(与 ps 里 /target/.../htyuc|htyws|htykc|htyts 匹配)。勿在有其它同名进程的主机上盲目使用。 +# 在**即将下线的** moicen 或切流量前,结束 UC/WS/KC/htyts/htyproc 的 cargo 可执行体(与 ps 里 /target/.../ 匹配)。勿在有其它同名进程的主机上盲目使用。 set -euo pipefail -for p in htyuc htyws htykc htyts; do +for p in htyuc htyws htykc htyts htyproc; do pkill -f "/target/.*/$p" 2>/dev/null || true done -echo "已发送 pkill;请 ps 确认无残留;admin/ts 前端的反代在其余入口自行维护。" +echo "已发送 pkill;请 ps 确认无残留;admin/ts/proc 前端的反代在其余入口自行维护。"