Skip to content

Instantly share code, notes, and snippets.

@jrcryer
Last active July 18, 2019 10:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrcryer/bd2ffc800bb63e8c9220 to your computer and use it in GitHub Desktop.
Save jrcryer/bd2ffc800bb63e8c9220 to your computer and use it in GitHub Desktop.
DynamoDB Local Starter
#!/bin/bash
WORKING_DIR="dynamodb"
VERSION="dynamodb_local_2014-04-24"
ARCHIVE="${VERSION}.tar.gz"
URL="https://s3-us-west-2.amazonaws.com/dynamodb-local/${ARCHIVE}"
PID_FILE="${WORKING_DIR}/PID"
download() {
mkdir -p $WORKING_DIR
cd $WORKING_DIR
if [ ! -f $ARCHIVE ]
then
echo "Downloading DynamoDB Local"
curl -O $URL
fi
if [ ! -d $VERSION ]
then
echo "Extracting DynamoDB Local"
tar -xzf $ARCHIVE
fi
cd ../
}
start() {
if [ ! -d $WORKING_DIR ]
then
download
fi
NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
LOG_FILE="dynamodb-${NOW}.log"
LOG_DIR="logs"
mkdir -p $LOG_DIR
echo "DynamoDB Local output will save to ${WORKING_DIR}/${LOG_DIR}/${LOG_FILE}"
nohup java -Djava.library.path=$WORKING_DIR/DynamoDBLocal_lib -jar $WORKING_DIR/DynamoDBLocal.jar >"${LOG_DIR}/${LOG_FILE}" 2>&1 &
PID=$!
echo "DynamoDB Local started with pid ${PID}"
echo $PID > $PID_FILE
}
stop() {
if [ ! -f $PID_FILE ]
then
echo "No PID file found!"
exit 1
else
PID=$(cat $PID_FILE)
kill -s KILL $PID
rm $PID_FILE
echo "DynamoDB Local stopped"
fi
}
if [ $# -lt 1 ]
then
echo "Usage : $0 (download|start|stop)"
exit
fi
case $1 in
download)
download
;;
start)
start
;;
stop)
stop
exit 1
;;
*)
echo "Unknown command: download|start|stop"
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment