Skip to content

Commit 095ccfe

Browse files
committed
Added Checksum for backup process
1 parent 5eac2c7 commit 095ccfe

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

application/backup.sh

+29-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,22 @@ else
5858
log "INFO" "${MYNAME}: Backup of ${DB_NAME} completed in $(expr ${end} - ${start}) seconds, ($(stat -c %s /tmp/${DB_NAME}.sql) bytes).";
5959
fi
6060

61+
log "INFO" "Generating checksum for backup file"
62+
cd /tmp || {
63+
error_message="${MYNAME}: FATAL: Failed to change directory to /tmp";
64+
log "ERROR" "${error_message}";
65+
error_to_sentry "${error_message}" "${DB_NAME}" "1";
66+
exit 1;
67+
}
68+
69+
# Create checksum file format
70+
sha256sum "${DB_NAME}.sql" > "${DB_NAME}.sql.sha256" || {
71+
error_message="${MYNAME}: FATAL: Failed to generate checksum for backup of ${DB_NAME}";
72+
log "ERROR" "${error_message}";
73+
error_to_sentry "${error_message}" "${DB_NAME}" "1";
74+
exit 1;
75+
}
76+
6177
# Compression
6278
start=$(date +%s);
6379
gzip -f /tmp/${DB_NAME}.sql || STATUS=$?;
@@ -72,6 +88,18 @@ else
7288
log "INFO" "${MYNAME}: Compressing backup of ${DB_NAME} completed in $(expr ${end} - ${start}) seconds.";
7389
fi
7490

91+
# Validate checksum
92+
log "INFO" "Validating backup checksum"
93+
# Optional: Added this line for debug
94+
log "DEBUG" "Checksum file contents: $(cat "${DB_NAME}.sql.sha256")"
95+
96+
sha256sum -c "${DB_NAME}.sql.sha256" || {
97+
error_message="${MYNAME}: FATAL: Checksum validation failed for backup of ${DB_NAME}";
98+
log "ERROR" "${error_message}";
99+
error_to_sentry "${error_message}" "${DB_NAME}" "1";
100+
exit 1;
101+
}
102+
75103
# S3 Upload
76104
start=$(date +%s);
77105
s3cmd put /tmp/${DB_NAME}.sql.gz ${S3_BUCKET} || STATUS=$?;
@@ -110,4 +138,4 @@ echo "postgresql-backup-restore: backup: Completed";
110138

111139
log "INFO" "${MYNAME}: backup: Completed";
112140

113-
exit $STATUS;
141+
exit $STATUS;

0 commit comments

Comments
 (0)