发布 v1.1.0:加密双向同步、从机日志TTL与一键部署
This commit is contained in:
44
linux/slave-package/bin/start.sh
Executable file
44
linux/slave-package/bin/start.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
APP_HOME="$(dirname "$SCRIPT_DIR")"
|
||||
JAR_PATH="$APP_HOME/lib/redis-clip-sync.jar"
|
||||
LOG_FILE="$APP_HOME/logs/app.log"
|
||||
PID_FILE="$APP_HOME/run/app.pid"
|
||||
|
||||
FOREGROUND="false"
|
||||
CONFIG_PATH="$APP_HOME/conf/config.properties"
|
||||
|
||||
for arg in "$@"; do
|
||||
if [[ "$arg" == "--foreground" ]]; then
|
||||
FOREGROUND="true"
|
||||
elif [[ "$arg" == *.properties ]]; then
|
||||
CONFIG_PATH="$arg"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ! -f "$JAR_PATH" ]]; then
|
||||
echo "Jar not found: $JAR_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -f "$CONFIG_PATH" ]]; then
|
||||
echo "Config not found: $CONFIG_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$APP_HOME/logs" "$APP_HOME/run"
|
||||
|
||||
if [[ "$FOREGROUND" == "true" ]]; then
|
||||
exec java -jar "$JAR_PATH" "$CONFIG_PATH"
|
||||
fi
|
||||
|
||||
if [[ -f "$PID_FILE" ]] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
|
||||
echo "RedisClipSync already running (pid=$(cat "$PID_FILE"))."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
nohup java -jar "$JAR_PATH" "$CONFIG_PATH" >> "$LOG_FILE" 2>&1 &
|
||||
echo $! > "$PID_FILE"
|
||||
echo "RedisClipSync started (pid=$(cat "$PID_FILE"))."
|
||||
Reference in New Issue
Block a user