11#! /bin/bash
22
33# see https://wiki.postgresql.org/wiki/Automated_Backup_on_Linux
4+ BACKUP_TMP_DIR=${BACKUP_TMP_DIR:-/ tmp}
45
56log () {
67 echo " [pg_backup_rotated.sh]> $@ "
@@ -17,7 +18,9 @@ function perform_backups()
1718
1819 backup_date=` date +%Y-%m-%d`
1920 backup_file_path=" ${BACKUP_DIR}${backup_date}${suffix} " .backup
21+ backup_progress_file_path=" ${BACKUP_TMP_DIR}${backup_date}${suffix} " .backup
2022 backup_roles_file_path=" ${backup_file_path} _roles.out"
23+ backup_progress_roles_file_path=" ${backup_progress_file_path} _roles.out"
2124
2225 if [[ -e ${backup_file_path} ]]; then
2326 log " ${backup_file_path} already exists, skipping dump"
@@ -26,19 +29,19 @@ function perform_backups()
2629
2730 log " Dumping custom backup for ${DB_NAME} database to ${backup_file_path} "
2831
29- if ! pg_dump -Fc -h " $db_host " -p " $db_port " -U " $db_user " ${DB_NAME} -f ${backup_file_path } .in_progress; then
32+ if ! pg_dump -Fc -h " $db_host " -p " $db_port " -U " $db_user " ${DB_NAME} -f ${backup_progress_file_path } .in_progress; then
3033 log " [ERROR] Failed to produce custom backup database ${DB_NAME} "
3134 exit 1
3235 else
3336 # finalize database backup
34- mv ${backup_file_path } .in_progress ${backup_file_path}
37+ mv ${backup_progress_file_path } .in_progress ${backup_file_path}
3538
3639 # perform backup of database roles
3740 if [[ " ${PERFORM_BACKUP_ROLES} " == " 1" ]]; then
3841 log " Dumping roles backup for ${DB_NAME} database to ${backup_roles_file_path} "
39- pg_dumpall -r -h " $db_host " -p " $db_port " -U postgres -f ${backup_roles_file_path } .in_progress
40- cat ${backup_roles_file_path } .in_progress | grep -v ${IGNORE_DUMP_ROLES} > " ${backup_roles_file_path} "
41- rm -f ${backup_roles_file_path } .in_progress
42+ pg_dumpall -r -h " $db_host " -p " $db_port " -U postgres -f ${backup_progress_roles_file_path } .in_progress
43+ cat ${backup_progress_roles_file_path } .in_progress | grep -v ${IGNORE_DUMP_ROLES} > " ${backup_roles_file_path} "
44+ rm -f ${backup_progress_roles_file_path } .in_progress
4245 fi
4346
4447 # perform copy backup to S3-compatible storage
0 commit comments