#!/bin/bash # get real path of softlink get_real_path() { local f="$1" while [ -h "$f" ]; do ls=`ls -ld "$f"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then f="$link" else f=`dirname "$f"`/"$link" fi done echo "$f" } install_server() { local SERVER="$1" local APP="$2" local PORT="$3" if [ -z "$PORT" ]; then PORT='22' fi local BASE_DIR='/data/program' local TARGET_DIR="$BASE_DIR/$APP" local LOGS_DIR="$BASE_DIR/logs/$APP" ssh -p "$PORT" "$SERVER" "mkdir -p $TARGET_DIR" ssh -p "$PORT" "$SERVER" "tar -xzv -C $TARGET_DIR" < springboot-app.tar.gz ssh -p "$PORT" "$SERVER" "mkdir -p $LOGS_DIR && ln -sf $LOGS_DIR $TARGET_DIR/logs" } prg_path=$(get_real_path "$0") echo "Script path [$prg_path]" # Service Home pushd $(dirname "$prg_path") > /dev/null WORK_DIR=$(pwd) echo "Work dir [$WORK_DIR]" if [ -z "$1" ] || [ -z "$2" ] ; then echo 'Usage: ./install-springboot-app.sh cms|fsagent test|prod' exit 1 fi if [ "$2" == "test" ]; then echo "Install test." install_server 'appweb@118.24.251.131' $1 elif [ "$2" == "prod" ]; then echo "Install prod." install_server 'xiandou@113.87.175.72' $1 '51022' fi popd > /dev/null