#!/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"