Skip to content

Instantly share code, notes, and snippets.

@danilkuznetsov
Created January 30, 2017 19:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danilkuznetsov/7853f9a4474062481519370ccac1b32a to your computer and use it in GitHub Desktop.
Save danilkuznetsov/7853f9a4474062481519370ccac1b32a to your computer and use it in GitHub Desktop.
start/stop docker container and backup data. remove backups older than 5 days
#!/bin/sh
DOCKER_CONTAINER_NAME="container name"
SOURCE_DATA_FOLDER="<path to source files>"
TEMP_FOLDER="/tmp/<folder_name>/"
BACKUP_STORAGE="<path to storage backup files>"
ARCHIVE_FILE_NAME=edx-mysql-$(date +%Y%m%d).tgz
echo "... Starting:"
if [ ! -d "$BACKUP_STORAGE" ]; then
mkdir -p $BACKUP_STORAGE
fi
echo "... Remove backups older than 5 days"
find $BACKUP_STORAGE* -mtime +5 -exec rm -rf {} \;
echo "... Stop docker container"
docker stop $DOCKER_CONTAINER_NAME
echo "... Copy all data to tmp dir"
mkdir -p $TEMP_FOLDER
cp -R $SOURCE_DATA_FOLDER $TEMP_FOLDER
echo "... Start docker container"
docker start $DOCKER_CONTAINER_NAME
echo "... Create archive"
tar -czvf $BACKUP_STORAGE$ARCHIVE_FILE_NAME $TEMP_FOLDER
echo "... Delete tmp files and directory"
rm -rf $TEMP_FOLDER
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment