Skip to content

Commit 0de3411

Browse files
author
Sven Speckmaier
committed
start of cleanup implementation
1 parent a986c12 commit 0de3411

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Created by .ignore support plugin (hsz.mobi)
2+
/.idea

entrypoint

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
set -e
44

5+
#
6+
# Backup Mode. Possible values:
7+
# - SIMPLE: Create ${TARGET_PREFIX}/${DATE}
8+
# - FULL: Create ${TARGET_PREFIX}/full-${DATE}
9+
# - INCREMENTAL: Create ${TARGET_PREFIX}/full-{LASTDATE}-inc-${DATE} based on the last full-${DATE}
10+
#
11+
MODE="${MODE:-SIMPLE}"
12+
513
TARGET_PREFIX="/target"
614
DATA_DIRECTORY="/var/lib/mysql"
715

@@ -45,12 +53,11 @@ createRestoreService() {
4553
curl http://rancher-metadata/2015-12-19/self/service/metadata/docker-compose \
4654
> /tmp/docker-compose.yml.tpl
4755

48-
ESCAPED_RANCHER_URL=$(echo ${RANCHER_URL} | sed -e 's/[\/&]/\\&/g')
4956
ALPHANUM_TARGET_BACKUP=$(echo ${TARGET_BACKUP} | sed -e 's/[^a-zA-Z0-9\-]//g')
5057
sed \
5158
-e "s~%%BACKUP%%~$TARGET_BACKUP~" \
5259
-e "s~%%BACKUP_ALPHANUM%%~$ALPHANUM_TARGET_BACKUP~" \
53-
-e "s~%%RANCHER_URL%%~$ESCAPED_RANCHER_URL~" \
60+
-e "s~%%RANCHER_URL%%~$RANCHER_URL~" \
5461
-e "s~%%RANCHER_KEY%%~$RANCHER_ACCESS_KEY~" \
5562
-e "s~%%RANCHER_SECRET%%~$RANCHER_SECRET_KEY~" \
5663
-e "s~%%BACKUP_VOLUME%%~$BACKUP_VOLUME~" \
@@ -99,14 +106,14 @@ setDefaults() {
99106
}
100107

101108
backupRancher() {
102-
109+
103110
echo "Backing up rancher stack"
104111

105112
local METADATA_URL="http://rancher-metadata/2015-07-25"
106113
local STACK=$(curl -s $METADATA_URL/self/service/links | sed 's/%2F.*//')
107114
local SERVICE=$(curl -s $METADATA_URL/self/service/links | sed 's/[^%]*%2F//')
108115
local TARGET_DIRECTORY="$1"
109-
116+
110117
if [ -z "$RANCHER_URL" -o -z "$RANCHER_ACCESS_KEY" -o -z "$RANCHER_SECRET_KEY" ] ; then
111118
echo "No rancher access data set, not backing up {docker,rancher}-compose.yml files"
112119
return
@@ -117,7 +124,7 @@ backupRancher() {
117124
RANCHER_CLI_VERSION="v0.4.1"
118125
fi
119126

120-
RANCHER_CLI_DIRECTORY="/opt/rancher/${RANCHER_CLI_VERSION}"
127+
RANCHER_CLI_DIRECTORY="/opt/rancher/${RANCHER_CLI_VERSION}"
121128
if [ ! -d "$RANCHER_CLI_DIRECTORY" ] ; then
122129
mkdir -p "$RANCHER_CLI_DIRECTORY"
123130
fi
@@ -168,7 +175,9 @@ case $1 in
168175

169176

170177
DATE=$(date '+%Y-%m-%d-%H%M%S')
171-
TARGET="${TARGET_PREFIX}/$DATE"
178+
NAME="${DATE}"
179+
180+
TARGET="${TARGET_PREFIX}/$NAME"
172181

173182
echo "======================================================================"
174183
echo "= Starting backup process to $TARGET"
@@ -196,7 +205,7 @@ case $1 in
196205
xtrabackup --prepare --target-dir="$TARGET"
197206
echo "$TARGET Done"
198207

199-
createRestoreService "$DATE"
208+
createRestoreService "$NAME"
200209

201210
if [ ! -z "RUN_EVERY" ] ; then
202211

@@ -211,7 +220,7 @@ case $1 in
211220
fi
212221

213222

214-
done
223+
done
215224
;;
216225

217226
restore)
@@ -268,6 +277,16 @@ case $1 in
268277
rm -Rfv /var/lib/mysql/*
269278
echo "Done"
270279
;;
280+
cleanup)
281+
echo "======================================================================"
282+
echo "= Clean up expired backups from $TARGET"
283+
echo "======================================================================"
284+
echo ""
285+
286+
FILES=( $(ls $TARGET/full-????-??-??) )
287+
288+
;;
289+
271290
run)
272291
shift
273292

0 commit comments

Comments
 (0)