Skip to content

Commit

Permalink
#139 renewed backup/restore influxdb containers
Browse files Browse the repository at this point in the history
  • Loading branch information
justb4 committed Aug 22, 2018
1 parent f0901b3 commit 0a538e7
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 57 deletions.
18 changes: 12 additions & 6 deletions services/influxdb-dc1/backup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,21 @@ then
exit 1
fi

BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}"
BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}/${INFLUXDB_DB}"
if [ -z "${BACKUP_DIR}" ]
then
echo "BACKUP_DIR not set"
exit 1
fi

rm -rf ${BACKUP_DIR}
mkdir -p ${BACKUP_DIR}

rm -rf ${BACKUP_DIR}/*
TARGET_DUMP_FILE=${SE_BACKUP_DIR}/influxdb_${INFLUXDB_DB}_data.tar.gz
TARGET_DUMP_FILE=${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}_${INFLUXDB_DB}_data.tar.gz

# On RUNNING container named influxdb
docker exec ${SE_CONTAINER_NAME} influxd backup -database ${INFLUXDB_DB} /backup
docker exec ${SE_CONTAINER_NAME} influxd backup -portable -database ${INFLUXDB_DB} /backup/${INFLUXDB_DB}

pushd ${SE_BACKUP_DIR}
tar -cvzf ${TARGET_DUMP_FILE} ${SE_CONTAINER_NAME}
pushd ${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}
tar -cvzf ${TARGET_DUMP_FILE} ${INFLUXDB_DB}
popd
2 changes: 1 addition & 1 deletion services/influxdb-dc1/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ services:
influxdb-dc1:

# image: influxdb:1.4.2
image: influxdb:1.5.3
image: influxdb:1.6.1

# Data Collector 1
container_name: influxdb-dc1
Expand Down
33 changes: 11 additions & 22 deletions services/influxdb-dc1/restore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,37 +43,26 @@ then
exit 1
fi

if [ -z "${SE_DATA_DIR}" ]
if [ -z "${INFLUXDB_DB}" ]
then
echo "SE_BACKUP_DIR not set"
echo "INFLUXDB_DB not set"
exit 1
fi

DATA_DIR="${SE_DATA_DIR}/${SE_CONTAINER_NAME}"
BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}"
IMAGE="influxdb:1.5.3"


# NB possibly best to make InfluxDB empty (db-init-influxdb.sh script)!
# otherwise this issue: https://github.com/influxdata/influxdb/issues/8320
# and restore just one DB...
rm -rf ${DATA_DIR}
mkdir -p ${DATA_DIR}
BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}/${INFLUXDB_DB}"
if [ -z "${BACKUP_DIR}" ]
then
echo "BACKUP_DIR not set"
exit 1
fi

rm -rf ${BACKUP_DIR}
mkdir -p ${BACKUP_DIR}

pushd ${SE_BACKUP_DIR}
pushd ${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}
tar xzvf ${DUMP_FILE}
popd


# On STOPPED container named influxdb
docker run --rm \
--entrypoint /bin/bash \
-v ${DATA_DIR}:/var/lib/influxdb \
-v ${BACKUP_DIR}:/backup \
${IMAGE} \
-c "influxd restore -metadir /var/lib/influxdb/meta -datadir /var/lib/influxdb/data -database ${INFLUXDB_DB} /backup"

# ./run.sh
# On RUNNING container named influxdb
docker exec ${SE_CONTAINER_NAME} influxd restore -portable -db ${INFLUXDB_DB} -newdb ${INFLUXDB_DB} /backup/${INFLUXDB_DB}
22 changes: 17 additions & 5 deletions services/influxdb/backup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,27 @@ then
exit 1
fi

BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}"
if [ -z "${INFLUXDB_DB}" ]
then
echo "INFLUXDB_DB not set"
exit 1
fi

BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}/${INFLUXDB_DB}"
if [ -z "${BACKUP_DIR}" ]
then
echo "BACKUP_DIR not set"
exit 1
fi

rm -rf ${BACKUP_DIR}
mkdir -p ${BACKUP_DIR}

rm -rf ${BACKUP_DIR}/*
TARGET_DUMP_FILE=${SE_BACKUP_DIR}/influxdb_${INFLUXDB_DB}_data.tar.gz

# On RUNNING container named influxdb
docker exec ${SE_CONTAINER_NAME} influxd backup -database ${INFLUXDB_DB} /backup
docker exec ${SE_CONTAINER_NAME} influxd backup -portable -database ${INFLUXDB_DB} /backup/${INFLUXDB_DB}

pushd ${SE_BACKUP_DIR}
tar -cvzf ${TARGET_DUMP_FILE} ${SE_CONTAINER_NAME}
pushd ${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}
tar -cvzf ${TARGET_DUMP_FILE} ${INFLUXDB_DB}
popd
2 changes: 1 addition & 1 deletion services/influxdb/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ services:
influxdb:

# image: influxdb:1.4.2
image: influxdb:1.5.3
image: influxdb:1.6.1

# Data Collector 1
container_name: influxdb
Expand Down
33 changes: 11 additions & 22 deletions services/influxdb/restore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,37 +44,26 @@ then
exit 1
fi

if [ -z "${SE_DATA_DIR}" ]
if [ -z "${INFLUXDB_DB}" ]
then
echo "SE_BACKUP_DIR not set"
echo "INFLUXDB_DB not set"
exit 1
fi

DATA_DIR="${SE_DATA_DIR}/${SE_CONTAINER_NAME}"
BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}"
IMAGE="influxdb:1.5.3"


# NB possibly best to make InfluxDB empty (db-init-influxdb.sh script)!
# otherwise this issue: https://github.com/influxdata/influxdb/issues/8320
# and restore just one DB...
rm -rf ${DATA_DIR}
mkdir -p ${DATA_DIR}
BACKUP_DIR="${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}/${INFLUXDB_DB}"
if [ -z "${BACKUP_DIR}" ]
then
echo "BACKUP_DIR not set"
exit 1
fi

rm -rf ${BACKUP_DIR}
mkdir -p ${BACKUP_DIR}

pushd ${SE_BACKUP_DIR}
pushd ${SE_BACKUP_DIR}/${SE_CONTAINER_NAME}
tar xzvf ${DUMP_FILE}
popd


# On STOPPED container named influxdb
docker run --rm \
--entrypoint /bin/bash \
-v ${DATA_DIR}:/var/lib/influxdb \
-v ${BACKUP_DIR}:/backup \
${IMAGE} \
-c "influxd restore -metadir /var/lib/influxdb/meta -datadir /var/lib/influxdb/data -database ${INFLUXDB_DB} /backup"

# ./run.sh
# On RUNNING container named influxdb
docker exec ${SE_CONTAINER_NAME} influxd restore -portable -db ${INFLUXDB_DB} -newdb ${INFLUXDB_DB} /backup/${INFLUXDB_DB}

0 comments on commit 0a538e7

Please sign in to comment.