#!/bin/bash

# 必须使用 root 权限运行
if [ "$(id -u)" -ne 0 ]; then
    echo "此脚本需要 root 权限运行"
    echo "请使用: sudo $0"
    exit 1
fi

# 设置时区
export TZ="Asia/Shanghai"

# 应用配置
APP_NAME="syslog-serve"
JAR_FILE="syslog-serve-1.0.0.jar"
LOG_DIR="/data/syslog/logs"

# 创建日志目录
# mkdir -p ${LOG_DIR}

# 允许绑定低端口
sysctl -w net.ipv4.ip_unprivileged_port_start=0 2>/dev/null || true

# JVM 参数
JVM_OPTS="-server -Xms512m -Xmx1024m -XX:+UseG1GC -Duser.timezone=Asia/Shanghai"

# 应用参数
APP_OPTS="--syslog.port=514"
APP_OPTS="${APP_OPTS} --server.port=8189"
APP_OPTS="${APP_OPTS} --logging.file.path=${LOG_DIR}"
APP_OPTS="${APP_OPTS} --app.privileged=true"

echo "========================================"
echo "启动 ${APP_NAME}"
echo "Syslog 端口: 514 (UDP/TCP)"
echo "管理端口: 8189 (HTTP)"
echo "日志目录: ${LOG_DIR}"
echo "时区: ${TZ}"
echo "========================================"

# 启动应用
nohup java ${JVM_OPTS} -jar ${JAR_FILE} ${APP_OPTS} > ${LOG_DIR}/syslog-serve-console.log 2>&1 &

# 记录 PID
PID=$!
echo ${PID} > /tmp/${APP_NAME}.pid
echo "应用启动成功，PID: ${PID}"
echo ""
echo "查看日志:"
echo "  tail -f ${LOG_DIR}/syslog-serve.log"
echo ""
echo "测试 Syslog:"
echo "  logger -n 127.0.0.1 -P 514 '测试消息'"
echo ""
echo "访问管理界面:"
echo "  http://localhost:8189"