cisd/scripts/resource-restore/start-runner.sh
2026-04-20 10:15:25 +08:00

49 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
HANDOFF_FILE=""
while [[ $# -gt 0 ]]; do
case "$1" in
--handoff-file)
HANDOFF_FILE="${2:-}"
shift 2
;;
*)
echo "[ERROR] unsupported argument: $1" >&2
exit 1
;;
esac
done
if [[ -z "${HANDOFF_FILE}" ]]; then
echo "[ERROR] --handoff-file is required" >&2
exit 1
fi
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SOURCE_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
APP_HOME="${APP_HOME:-/home/tms}"
CONF_DIR="${CONF_DIR:-${APP_HOME}/config}"
JAVA_BIN="${JAVA_BIN:-java}"
RUNNER_JAR_PATH="${RUNNER_JAR_PATH:-${APP_HOME}/tms-framework.jar}"
RUNNER_LOG_DIR="${RUNNER_LOG_DIR:-${APP_HOME}/logs}"
RUNNER_STDOUT_LOG="${RUNNER_STDOUT_LOG:-${RUNNER_LOG_DIR}/resource-restore-runner.out.log}"
if [[ -f "${SOURCE_ROOT}/target/tms-framework.jar" ]]; then
RUNNER_JAR_PATH="${SOURCE_ROOT}/target/tms-framework.jar"
fi
mkdir -p "${RUNNER_LOG_DIR}"
nohup "${JAVA_BIN}" \
-cp "${RUNNER_JAR_PATH}" \
-Dloader.main=com.cisd.tms.modules.backup.runner.ResourceRestoreRunnerMain \
org.springframework.boot.loader.launch.PropertiesLauncher \
--spring.main.web-application-type=none \
--spring.main.banner-mode=off \
--spring.config.additional-location="optional:file:${CONF_DIR}/" \
--tms.backup.runner-handoff-file="${HANDOFF_FILE}" \
>> "${RUNNER_STDOUT_LOG}" 2>&1 &
echo $!