Support BACKUP_TMP_DIR to not immediately write to backup dir as this can cause broken backups to be used when being restored
This commit is contained in:
parent
930058d5b2
commit
ae3c527eb1
|
|
@ -4,14 +4,16 @@ set -eo pipefail
|
||||||
|
|
||||||
[[ ! $# -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;
|
[[ ! $# -eq 1 ]] && echo "Usage: $0 backup_number" && exit 1;
|
||||||
[[ -z "${BACKUP_DIR}" ]] && echo "Required 'BACKUP_DIR' env not set" && exit 1;
|
[[ -z "${BACKUP_DIR}" ]] && echo "Required 'BACKUP_DIR' env not set" && exit 1;
|
||||||
|
[[ -z "${BACKUP_TMP_DIR}" ]] && echo "Required 'BACKUP_TMP_DIR' env not set" && exit 1;
|
||||||
[[ -z "${JENKINS_HOME}" ]] && echo "Required 'JENKINS_HOME' env not set" && exit 1;
|
[[ -z "${JENKINS_HOME}" ]] && echo "Required 'JENKINS_HOME' env not set" && exit 1;
|
||||||
|
|
||||||
backup_number=$1
|
backup_number=$1
|
||||||
echo "Running backup"
|
echo "Running backup"
|
||||||
|
|
||||||
tar -C ${JENKINS_HOME} -czf "${BACKUP_DIR}/${backup_number}.tar.gz" --exclude jobs/*/config.xml --exclude jobs/*/workspace* -c jobs
|
tar -C ${JENKINS_HOME} -czf "${BACKUP_TMP_DIR}/${backup_number}.tar.gz" --exclude jobs/*/config.xml --exclude jobs/*/workspace* -c jobs && \
|
||||||
|
mv ${BACKUP_TMP_DIR}/${backup_number}.tar.gz ${BACKUP_DIR}/${backup_number}.tar.gz
|
||||||
|
|
||||||
[[ ! -s ${BACKUP_DIR}/${backup_number}.tar.gz ]] && echo "backup file '${BACKUP_DIR}/${backup_number}.tar.gz' is empty" && exit 1;
|
[[ ! -s ${BACKUP_DIR}/${backup_number}.tar.gz ]] && echo "backup file '${BACKUP_DIR}/${backup_number}.tar.gz' is empty" && exit 1;
|
||||||
|
|
||||||
echo Done
|
echo Done
|
||||||
exit 0
|
exit 0
|
||||||
Loading…
Reference in New Issue