Files
ToNav-go/tonav-go-ctl.sh
openclaw efaf787981 feat: ToNav-go v1.0.0 - 内部服务导航系统
功能:
- 前台导航: 分类Tab切换、实时搜索、健康状态指示、响应式适配
- 后台管理: 服务/分类CRUD、系统设置、登录认证(bcrypt)
- 健康检查: 定时检测(5min)、独立检查URL、三态指示(在线/离线/未检测)
- 云端备份: WebDAV上传/下载/恢复/删除、定时自动备份、本地备份管理

技术栈: Go + Gin + GORM + SQLite
2026-02-14 05:09:23 +08:00

83 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# Configuration
APP_NAME="tonav-go"
APP_DIR="/root/.openclaw/workspace/ToNav-go"
BINARY_NAME="tonav-go-v1"
PID_FILE="$APP_DIR/tonav-go.pid"
LOG_FILE="$APP_DIR/tonav.log"
start() {
if [ -f $PID_FILE ]; then
PID=$(cat $PID_FILE)
if ps -p $PID > /dev/null; then
echo "$APP_NAME is already running (PID: $PID)"
return
fi
fi
echo "Starting $APP_NAME..."
cd $APP_DIR
nohup ./$BINARY_NAME >> $LOG_FILE 2>&1 &
echo $! > $PID_FILE
echo "$APP_NAME started with PID: $(cat $PID_FILE)"
}
stop() {
if [ -f $PID_FILE ]; then
PID=$(cat $PID_FILE)
echo "Stopping $APP_NAME (PID: $PID)..."
kill $PID
rm $PID_FILE
echo "$APP_NAME stopped."
else
echo "$APP_NAME is not running."
fi
}
status() {
if [ -f $PID_FILE ]; then
PID=$(cat $PID_FILE)
if ps -p $PID > /dev/null; then
echo "$APP_NAME is running (PID: $PID)"
else
echo "$APP_NAME is not running (stale PID file)"
fi
else
echo "$APP_NAME is not running."
fi
}
build() {
echo "Building $APP_NAME..."
cd $APP_DIR
go build -o $BINARY_NAME
echo "Build complete."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 2
start
;;
status)
status
;;
build)
build
;;
log)
tail -f $LOG_FILE
;;
*)
echo "Usage: $0 {start|stop|restart|status|build|log}"
exit 1
esac