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