From 080888803082d41cb2a7e7adce85f7a7637a7457 Mon Sep 17 00:00:00 2001 From: Asif Bacchus Date: Thu, 25 Oct 2018 13:18:31 -0600 Subject: [PATCH] Check dump exitcode from within mysql container --- root/scripts/backup.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/root/scripts/backup.sh b/root/scripts/backup.sh index 961c967..3ced98b 100644 --- a/root/scripts/backup.sh +++ b/root/scripts/backup.sh @@ -571,10 +571,18 @@ fi ### Dump SQL echo -e "${op}${stamp} Dumping mailcow SQL database...${normal}" >> "$logFile" -docker-compose exec mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > "$sqlDumpDir/$sqlDumpFile" 2>> "$logFile" -## error checking sqldump within the container in a cron-friendly manner is a -## nightmare, so let's just see if a non-empty file with the expected name was -## created +docker-compose exec mysql-mailcow mysqldump --default-character-set=utf8mb4 \ + -u${DBUSER} -p${DBPASS} ${DBNAME} > "$sqlDumpDir/$sqlDumpFile" \ + 2>> "$logFile" +dumpResult=$(docker-compose exec -T mysql-mailcow echo "$?") +## very mysqldump completed successfully +if [ "$dumpResult" = "0" ]; then + echo -e "${info}${stamp} -- [INFO] mySQLdump completed successfully --" \ + "${normal}" >> "$logFile" +else + exitError+=("${stamp}_201") +fi +## verify the dump file was actually written to disk checkExist fs "$sqlDumpDir/$sqlDumpFile" checkResult="$?" if [ "$checkResult" = "0" ]; then