Skip to content

Commit e55dae0

Browse files
authored
Merge pull request #20 from silinternational/checksum-feature
Added Checksum
2 parents 5eac2c7 + fa1dd2e commit e55dae0

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

application/backup.sh

+28
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=$?;

0 commit comments

Comments
 (0)