脚本清理:移除交叉编译,统一板卡原生编译流程 + 数据脚本支持 pCanBridge
- 移除交叉编译脚本 build-arm64.sh / build-arm64-image.sh 及本地 bin/arm64、build-arm64 产物目录(QEMU 模拟编译过慢)。 板卡产物统一由 ./scripts/build-board.sh 原生编译产出。 - deploy.sh 简化为 mission + 5 个 systemd 服务安装(不再推送 二进制),头注明确二进制来源为 build-board.sh。 - fetch-data.sh:新增 pCanBridge_data.db(+wal/shm) 下载,补齐 遗漏的 pccu_data.db-wal/-shm,--journal 导出列表加入 pCanBridge。 - clean-data.sh:同步清理 pCanBridge 数据库三件套;修复停服命令 漏掉 pCCU 的老问题(边写边清会产生脏数据),现按 pCanBridge→apps→moosdb 顺序全停;--start 启动列表补齐。 - .gitignore:新增全局规则 *.db / *.db-shm / *.db-wal / *.db-journal / *.log,所有数据库与日志一律不入库;清理散落 的重复条目与失效的 bin/arm64 条目。 验证:各脚本 bash -n 通过,help 输出正常,git check-ignore 命中 新规则且不影响 .moos 等配置文件。
This commit is contained in:
+21
-12
@@ -3,14 +3,16 @@
|
||||
# FILE: scripts/clean-data.sh
|
||||
# DESC: 清理目标板卡 (RK3588 / Ubuntu 22.04) 上的数据库与日志文件。
|
||||
# 默认清理板卡运行目录 /root/work/h100/data/ 下的:
|
||||
# power_data.db (+ -wal/-shm) 主机功率数据库
|
||||
# feedback_data.db 反馈落盘数据库
|
||||
# pPowerManger.log 主机运行日志
|
||||
# 默认先停止 4 个服务再清理(避免 SQLite WAL 仍在写入)。
|
||||
# power_data.db (+ -wal/-shm) 主机功率数据库
|
||||
# feedback_data.db 反馈落盘数据库
|
||||
# pccu_data.db (+ -wal/-shm) pCCU 帧日志数据库
|
||||
# pCanBridge_data.db (+ -wal/-shm) pCanBridge CAN 帧数据库
|
||||
# pPowerManger.log / pCCU.log 运行日志
|
||||
# 默认先停止各服务再清理(避免 SQLite WAL 仍在写入)。
|
||||
#
|
||||
# 用法:
|
||||
# ./scripts/clean-data.sh # 停服务 -> 清理 data 目录(不重启)
|
||||
# ./scripts/clean-data.sh --start # 清理后重新启动 4 个服务
|
||||
# ./scripts/clean-data.sh --start # 清理后重新启动各服务
|
||||
# ./scripts/clean-data.sh --no-stop # 不停服务直接清理(慎用)
|
||||
# ./scripts/clean-data.sh --stale # 额外清理 bin/ 与 src/bin/ 下的旧 db/log
|
||||
#
|
||||
@@ -38,10 +40,16 @@ DO_START=0
|
||||
DO_STOP=1
|
||||
DO_STALE=0
|
||||
|
||||
SERVICES=(moosdb pPowerManger pPowerMangerHost pCCU)
|
||||
SERVICES=(moosdb pPowerManger pPowerMangerHost pCCU pCanBridge)
|
||||
|
||||
# 板卡 data 目录下需要清理的文件(含 SQLite WAL/SHM)
|
||||
DATA_FILES=(power_data.db power_data.db-wal power_data.db-shm feedback_data.db pPowerManger.log pccu_data.db pCCU.log)
|
||||
DATA_FILES=(
|
||||
power_data.db power_data.db-wal power_data.db-shm
|
||||
feedback_data.db
|
||||
pccu_data.db pccu_data.db-wal pccu_data.db-shm
|
||||
pCanBridge_data.db pCanBridge_data.db-wal pCanBridge_data.db-shm
|
||||
pPowerManger.log pCCU.log
|
||||
)
|
||||
|
||||
# 历史遗留目录(旧部署位置),仅当 --stale 时清理
|
||||
STALE_DIRS=("${BOARD_DIR}/bin" "${BOARD_DIR}/src/bin")
|
||||
@@ -52,7 +60,7 @@ warn() { printf '\033[1;33m[clean-data]\033[0m %s\n' "$*"; }
|
||||
err() { printf '\033[1;31m[clean-data]\033[0m %s\n' "$*"; }
|
||||
|
||||
usage() {
|
||||
sed -n '2,29p' "${BASH_SOURCE[0]}" | sed 's/^# \{0,1\}//'
|
||||
sed -n '2,31p' "${BASH_SOURCE[0]}" | sed 's/^# \{0,1\}//'
|
||||
exit 0
|
||||
}
|
||||
|
||||
@@ -92,7 +100,8 @@ ok "SSH 连接正常: ${SSH_TARGET}"
|
||||
#-------------------------------------------------------------------
|
||||
if [ "${DO_STOP}" = "1" ]; then
|
||||
info "停止服务 ${SERVICES[*]} ..."
|
||||
${SSH} "${SSH_TARGET}" "systemctl stop pPowerMangerHost pPowerManger moosdb 2>/dev/null; true"
|
||||
# 先停应用,最后停 moosdb
|
||||
${SSH} "${SSH_TARGET}" "systemctl stop pCanBridge pPowerMangerHost pPowerManger pCCU moosdb 2>/dev/null; true"
|
||||
ok "服务已停止"
|
||||
else
|
||||
warn "--no-stop:不停服务直接清理,可能产生脏数据(SQLite 仍在写入)"
|
||||
@@ -123,15 +132,15 @@ fi
|
||||
# 5. 可选: 重启服务
|
||||
#-------------------------------------------------------------------
|
||||
if [ "${DO_START}" = "1" ]; then
|
||||
info "启动服务 (moosdb -> pPowerManger / pPowerMangerHost / pCCU) ..."
|
||||
info "启动服务 (moosdb -> pPowerManger / pPowerMangerHost / pCCU / pCanBridge) ..."
|
||||
${SSH} "${SSH_TARGET}" "systemctl start moosdb && sleep 1 && \
|
||||
systemctl start pPowerManger pPowerMangerHost pCCU" \
|
||||
systemctl start pPowerManger pPowerMangerHost pCCU pCanBridge" \
|
||||
|| { err "启动失败"; exit 1; }
|
||||
ok "服务已启动"
|
||||
else
|
||||
echo ""
|
||||
info "清理完成,服务未启动。需要重启请加 --start 或手动:"
|
||||
echo " systemctl start moosdb pPowerManger pPowerMangerHost pCCU"
|
||||
echo " systemctl start moosdb pPowerManger pPowerMangerHost pCCU pCanBridge"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user