master
Ermis Wieger 2024-06-13 11:45:24 +02:00
commit dfb0797b09
12 changed files with 142 additions and 0 deletions

18
Dockerfile Normal file
View File

@ -0,0 +1,18 @@
FROM alpine:3.20.0
WORKDIR /app
COPY utilities /app/utilities/
COPY entrypoint.sh /app/docker-entrypoint.sh
COPY setenv_tmp /app/setenv_tmp
RUN apk add --no-cache bash
RUN ["chmod", "+x", "/app/docker-entrypoint.sh"]
RUN ["chmod", "+x", "/app/utilities/DBFileSync.sh"]
RUN ["chmod", "+x", "/app/utilities/DBFileSync.jar"]
RUN ["chmod", "+x", "/app/utilities/DBFileSyncTimer.txt"]
ENTRYPOINT ["/app/docker-entrypoint.sh"]
CMD ["sh"]

14
Dockerfile_new Normal file
View File

@ -0,0 +1,14 @@
FROM alpine:3.20.0
WORKDIR /app
COPY utilities /app/utilities/
COPY entrypoint.sh /app/docker-entrypoint.sh
RUN ["chmod", "+x", "/app/docker-entrypoint.sh"]
RUN ["chmod", "+x", "/app/utilities/DBFileSync.sh"]
RUN ["chmod", "+x", "/app/utilities/DBFileSync.jar"]
ENTRYPOINT ["/app/docker-entrypoint.sh"]
CMD ["sh"]

0
StartDBFileSync Normal file
View File

BIN
dbfilesync_image.tar Normal file

Binary file not shown.

37
entrypoint.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
checkenvvars() {
declare -a REQUIRED_ENV_VARS=(
SMARTIT_DB_TYPE
SMARTIT_DB_HOST_NAME
SMARTIT_DB_PORT
SMARTIT_DB_NAME
SMARTIT_DB_SYSTEM_USER
SMARTIT_DB_SYSTEM_PASSWORD
DBFILESYNC_PRODUCT)
if [ -z "${SMARTIT_JDBC_URL}" ]; then
REQUIRED_ENV_VARS+=('SMARTIT_DB_TYPE' 'SMARTIT_DB_HOST_NAME' 'SMARTIT_DB_PORT' 'SMARTIT_DB_NAME' 'SMARTIT_DB_SYSTEM_USER' 'SMARTIT_DB_SYSTEM_PASSWORD' 'DBFILESYNC_PRODUCT')
fi
FAILED=false
for VAR in "${REQUIRED_ENV_VARS[@]}" ; do
if [ -z "${!VAR:-}" ] ; then
echo "ERROR: Required environment variable \"$VAR\" is not set."
FAILED=true
fi
done
if "$FAILED"; then
error
fi
}
function error () {
echo -e "\nFAILED. Exiting due to errors !!!"
exit 1
}
#ls -l
checkenvvars
cp -r utilities /dbfilesync/
sed -e 's@SMARTIT_DB_TYPE_REPL@'"${SMARTIT_DB_TYPE/@/\\@}"'@' -e 's@SMARTIT_DB_HOST_NAME_REPL@'"${SMARTIT_DB_HOST_NAME/@/\\@}"'@' -e 's@SMARTIT_DB_PORT_REPL@'"${SMARTIT_DB_PORT/@/\\@}"'@' -e 's@SMARTIT_DB_NAME_REPL@'"${SMARTIT_DB_NAME/@/\\@}"'@' -e 's@SMARTIT_DB_SYSTEM_USER_REPL@'"${SMARTIT_DB_SYSTEM_USER/@/\\@}"'@' -e 's@SMARTIT_DB_SYSTEM_PASSWORD_REPL@'"${SMARTIT_DB_SYSTEM_PASSWORD/@/\\@}"'@' -e 's@DBFILESYNC_PRODUCT_REPL@'"${DBFILESYNC_PRODUCT/@/\\@}"'@' setenv_tmp > /dbfilesync/utilities/setenv
touch /dbfilesync/utilities/DBFileSyncNew.log

BIN
initdbfilesync.tar Normal file

Binary file not shown.

1
setenv Executable file
View File

@ -0,0 +1 @@
export SMARTIT_DB_TYPE="$SMARTIT_DB_TYPE"

7
setenv_tmp Normal file
View File

@ -0,0 +1,7 @@
export SMARTIT_DB_TYPE="SMARTIT_DB_TYPE_REPL"
export SMARTIT_DB_HOST_NAME="SMARTIT_DB_HOST_NAME_REPL"
export SMARTIT_DB_PORT="SMARTIT_DB_PORT_REPL"
export SMARTIT_DB_NAME="SMARTIT_DB_NAME_REPL"
export SMARTIT_DB_SYSTEM_USER="SMARTIT_DB_SYSTEM_USER_REPL"
export SMARTIT_DB_SYSTEM_PASSWORD="SMARTIT_DB_SYSTEM_PASSWORD_REPL"
export DBFILESYNC_PRODUCT="DBFILESYNC_PRODUCT_REPL"

BIN
utilities/DBFileSync.jar Executable file

Binary file not shown.

24
utilities/DBFileSync.log Normal file
View File

@ -0,0 +1,24 @@
closing db connectionclosing db connection
closing db connectionclosing db connection
closing db connectionclosing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connection
closing db connectionclosing db connection
closing db connection
closing db connection
closing db connection

39
utilities/DBFileSync.sh Executable file
View File

@ -0,0 +1,39 @@
#!/bin/bash
SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
source $SCRIPTPATH/setenv
echo "$SCRIPTPATH"
DB_TYPE=$SMARTIT_DB_TYPE
DB_HOST=$SMARTIT_DB_HOST_NAME
DB_PORT=$SMARTIT_DB_PORT
DB_NAME=$SMARTIT_DB_NAME
DB_USER=$SMARTIT_DB_SYSTEM_USER
DB_PWD=$SMARTIT_DB_SYSTEM_PASSWORD
#DB_PWD="bW1fe56tg3V0umDDG6ne"
CONFIG_PATH=/dbfilesync/utilities/DBFileSyncTimer.txt
PRODUCT_NAME=$DBFILESYNC_PRODUCT
TRIGGER_INTERVAL=$DBFILESYNCH_UTIL_INTERVAL
ENCRYPT_OUTPUT="$($JAVA_HOME/bin/java -cp $SCRIPTPATH/DBFileSync.jar com.bmc.dbfilesync.EncryptionUtils -pwd $DB_PWD)"
#echo "${DB_PWD[0]}"
ENCRYPTED_PWD=${ENCRYPT_OUTPUT[0]}
ALWAYS_ON=No
if [ -z "$TRIGGER_INTERVAL" ]
then
TRIGGER_INTERVAL=120
fi
echo $TRIGGER_INTERVAL
if [ -z "$JAVA_OPTS_DB_FILESYNC" ]
then
JAVA_OPTS_DB_FILESYNC="-Xms256m -Xmx512m -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5"
fi
JAVA_OPTS="${JAVA_OPTS_DB_FILESYNC}"
if [[ ! -z ${SMARTIT_JDBC_URL} ]] && [[ ${DB_TYPE} == "oracle" || ${SMARTIT_DB_TYPE} == "postgres" || ${SMARTIT_DB_TYPE} == "postgresql" ]]; then
$JAVA_HOME/bin/java ${JAVA_OPTS} -cp $SCRIPTPATH/DBFileSync.jar com.bmc.dbfilesync.DBFileSyncTrigger -dbType $DB_TYPE -jdbc-url "$SMARTIT_JDBC_URL" -dbUser "$DB_USER" -dbPassword "$ENCRYPTED_PWD" -configPath "$CONFIG_PATH" -productName "$PRODUCT_NAME" -triggerInterval "$TRIGGER_INTERVAL" -alwaysOn "$ALWAYS_ON" >> /tmp/DBFileSyncNew.log &
else
$JAVA_HOME/bin/java ${JAVA_OPTS} -cp $SCRIPTPATH/DBFileSync.jar com.bmc.dbfilesync.DBFileSyncTrigger -dbType "$DB_TYPE" -dbHost "$DB_HOST" -dbPort "$DB_PORT" -dbName "$DB_NAME" -dbUser "$DB_USER" -dbPassword "$ENCRYPTED_PWD" -configPath "$CONFIG_PATH" -productName "$PRODUCT_NAME" -triggerInterval "$TRIGGER_INTERVAL" -alwaysOn "$ALWAYS_ON" >> /tmp/DBFileSyncNew.log &
fi
STATUS="$?"
if [ ! STATUS ];then
echo 'Failed to run rebranding tool'
exit 1
fi

View File

@ -0,0 +1,2 @@
MAX_DOWNLOAD_TIMESTAMP=