Commit 4307610f authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Merge branch 'dev' into 'master'

Dev

See merge request redmic-project/maintenance/backup-files!2
parents 41b22c04 18428ff8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ Also sends metrics to Prometheus through Pushgateway.

|         Name          |                   Description                   |        Default       |
|-----------------------|-------------------------------------------------|----------------------|
| BACKUP_VOL_NAME       | Docker volume name to mount as source           |                      |
| BACKUP_PATH           | Root path to find paths to backup               | /backup              |
| PATHS_TO_BACKUP       | Paths to include in backup (separated by space) |                      |
| WORK_PATH             | Temporal path for working                       | /tmp/backup          |
+21 −15
Original line number Diff line number Diff line
@@ -19,12 +19,6 @@ function check_mandatory_variables() {
		echo "[ERROR] 'AWS_SECRET_ACCESS_KEY' environment variable is empty"
		exit 1
	fi

	if [ -z "${PATHS_TO_BACKUP}" ]
	then
		echo "[ERROR] 'PATHS_TO_BACKUP' environment variable is empty"
		exit 1
	fi
}


@@ -32,7 +26,7 @@ function get_size() {

	if [ -d ${1} ]
	then
		echo "$(du -s \"${1}\" | cut -f 1)"
		echo "$(du -s "${1}" | cut -f 1)"
	else
		echo "$(wc -c <"${1}")"
	fi
@@ -43,15 +37,27 @@ function check_paths_to_backup() {

	echo "Checking paths to backup"

	if [ -z "${PATHS_TO_BACKUP}" ]
	then
		echo "[WARN] 'PATHS_TO_BACKUP' environment variable is empty, using root backup path ('${BACKUP_PATH}') instead"
		PATHS_TO_BACKUP="${BACKUP_PATH}"
		emptyPaths=1
	fi

	totalSize=0
	for pathToBackup in ${PATHS_TO_BACKUP}
	do
		if [ ${emptyPaths} -eq 1 ]
		then
			fullPathToBackup="${pathToBackup}"
		else
			fullPathToBackup="${BACKUP_PATH}/${pathToBackup}"
		echo "Checking path ${fullPathToBackup}"
		if [ [ ! -f ${fullPathToBackup} ] && [ ! -d ${fullPathToBackup} ] ]
		fi
		echo "Checking path '${fullPathToBackup}'"
		if [ ! -f ${fullPathToBackup} ] && [ ! -d ${fullPathToBackup} ]
		then
			echo "[ERROR] File or directory not found at '${fullPathToBackup}'"
			exit 1;
			exit 1
		fi
		pathSize=$(get_size "${fullPathToBackup}")
		totalSize=$(( totalSize + pathSize ))
@@ -65,17 +71,17 @@ function check_paths_to_backup() {

function create_compressed() {

	cd ${WORK_PATH}
	cd ${BACKUP_PATH}

	echo "Creating backup"
	local startSeconds=${SECONDS}

	tar -czf ${compressedFilename} ${PATHS_TO_BACKUP}
	tar -czf ${WORK_PATH}/${compressedFilename} ${PATHS_TO_BACKUP}

	compressDurationSeconds=$(( SECONDS - startSeconds ))
	compressedSize=$(get_size "${compressedFilename}")
	compressedSize=$(get_size "${WORK_PATH}/${compressedFilename}")

	echo "Backup created"
	echo "Backup created: '${compressedFilename}'"
	echo "Compressed size (bytes): ${compressedSize}"
	echo "Compress duration (s): ${compressDurationSeconds}"