@@ -73,6 +73,17 @@ sha256sum "${DB_NAME}.sql" > "${DB_NAME}.sql.sha256" || {
73
73
error_to_sentry " ${error_message} " " ${DB_NAME} " " 1" ;
74
74
exit 1;
75
75
}
76
+ log " DEBUG" " Checksum file contents: $( cat " ${DB_NAME} .sql.sha256" ) " ;
77
+
78
+ # Validate checksum
79
+ log " INFO" " ${MYNAME} : Validating backup checksum" ;
80
+ sha256sum -c " ${DB_NAME} .sql.sha256" || {
81
+ error_message=" ${MYNAME} : FATAL: Checksum validation failed for backup of ${DB_NAME} " ;
82
+ log " ERROR" " ${error_message} " ;
83
+ error_to_sentry " ${error_message} " " ${DB_NAME} " " 1" ;
84
+ exit 1;
85
+ }
86
+ log " INFO" " ${MYNAME} : Checksum validation successful" ;
76
87
77
88
# Compression
78
89
start=$( date +%s) ;
88
99
log " INFO" " ${MYNAME} : Compressing backup of ${DB_NAME} completed in $( expr ${end} - ${start} ) seconds." ;
89
100
fi
90
101
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
+ # Compress checksum file
103
+ gzip -f " ${DB_NAME} .sql.sha256" ;
104
+ if [ $? -ne 0 ]; then
105
+ log " WARN" " ${MYNAME} : Failed to compress checksum file, but continuing backup process" ;
106
+ fi
102
107
103
- # S3 Upload
108
+ # Upload compressed backup file to S3
104
109
start=$( date +%s) ;
105
110
s3cmd put /tmp/${DB_NAME} .sql.gz ${S3_BUCKET} || STATUS=$? ;
106
- end=$( date +%s) ;
107
111
if [ $STATUS -ne 0 ]; then
108
112
error_message=" ${MYNAME} : FATAL: Copy backup to ${S3_BUCKET} of ${DB_NAME} returned non-zero status ($STATUS ) in $( expr ${end} - ${start} ) seconds." ;
109
113
log " ERROR" " ${error_message} " ;
110
114
error_to_sentry " ${error_message} " " ${DB_NAME} " " ${STATUS} " ;
111
115
exit $STATUS ;
116
+ fi
117
+
118
+ # Upload checksum file
119
+ s3cmd put /tmp/${DB_NAME} .sql.sha256.gz ${S3_BUCKET} || STATUS=$? ;
120
+ end=$( date +%s) ;
121
+ if [ $STATUS -ne 0 ]; then
122
+ error_message=" ${MYNAME} : FATAL: Copy checksum to ${S3_BUCKET} of ${DB_NAME} returned non-zero status ($STATUS )." ;
123
+ log " ERROR" " ${error_message} " ;
124
+ error_to_sentry " ${error_message} " " ${DB_NAME} " " ${STATUS} " ;
125
+ exit $STATUS ;
112
126
else
113
- log " INFO" " ${MYNAME} : Copy backup to ${S3_BUCKET} of ${DB_NAME} completed in $( expr ${end} - ${start} ) seconds." ;
127
+ log " INFO" " ${MYNAME} : Copy backup and checksum to ${S3_BUCKET} of ${DB_NAME} completed in $( expr ${end} - ${start} ) seconds." ;
114
128
fi
115
129
116
130
# Backblaze B2 Upload
136
150
137
151
echo " postgresql-backup-restore: backup: Completed" ;
138
152
153
+ # Clean up temporary files
154
+ rm -f " /tmp/${DB_NAME} .sql.gz" " /tmp/${DB_NAME} .sql.sha256.gz" ;
155
+
139
156
log " INFO" " ${MYNAME} : backup: Completed" ;
140
157
141
158
exit $STATUS ;
0 commit comments