#!/bin/bash ################################################## # Mount dir # # - /opt/datax-web-2.1.2/modules/datax-admin/logs# # - /opt/datax-web-2.1.2/modules/datax-admin/bin/console.out# # - /opt/datax-web-2.1.2/modules/datax-datax-executor/logs# # - /opt/datax-web-2.1.2/modules/datax-datax-executor/bin/console.out# # ENV # # - JAVA_OPTS # # - TIMEOUT # # - MAX_PROCS # ################################################## set -euo pipefail export LANG=en_US.UTF-8 trap Quit EXIT GOT_SIGTERM= TIMEOUT="${TIMEOUT:-10m}" MAX_PROCS=${MAX_PROCS:-1} function Print { local file=/dev/null [ '-f' = "$1" ] && file=$2 && shift && shift date +"[%F %T] $*" | tee -a $file } function Quit { while :; do pkill -f java && Print killing java ... || break sleep 1 done # exec 1022<&- Print Container stopped. test -n "$GOT_SIGTERM" } function ModifyConf { local kv= Print Modifying bootstrap.properties ... while read kv; do [ -z "$kv" ] && return 0 Print Modifying property: ${kv%%=*} ... sed -i "/^#${kv%%=*} *=/c$kv" /opt/datax-web-2.1.2/modules/datax-admin/conf/bootstrap.properties done <<< "$(env | grep '^_CONF_' | sed 's/_CONF_//')" } function StartProc { Print Starting datax-web cd /opt/datax-web-2.1.2 /usr/bin/bash bin/start-all.sh Print Datax-web started. tail -f /dev/null } function Main { ModifyConf trap "GOT_SIGTERM=1; Print Got SIGTERM ...; exit" SIGTERM StartProc } # Start here Main