@@ -588,6 +588,23 @@ backup_mysql() {
588
588
}
589
589
590
590
backup_pgsql() {
591
+ backup_pgsql_globals() {
592
+ prepare_dbbackup
593
+ backup_job_filename=pgsql_globals_${backup_job_db_host,,}_${now}.sql
594
+ compression
595
+ pre_dbbackup "globals"
596
+ print_notice "Dumping PostgresSQL globals: with 'pg_dumpall -g' ${compression_string}"
597
+ run_as_user ${play_fair} pg_dumpall -h "${backup_job_db_host}" -U "${backup_job_db_user}" -p "${backup_job_db_port}" -g ${backup_job_extra_opts} ${backup_job_extra_dump_opts} | ${compress_cmd} | run_as_user tee "${TEMP_PATH}"/"${backup_job_filename}" > /dev/null
598
+ exit_code=$?
599
+ check_exit_code "${backup_job_filename}"
600
+ timer backup finish
601
+ file_encryption
602
+ generate_checksum
603
+ move_dbbackup
604
+ check_exit_code move "${backup_job_filename}"
605
+ post_dbbackup "globals"
606
+ }
607
+
591
608
export PGPASSWORD=${backup_job_db_pass}
592
609
if [ -n "${backup_job_db_auth}" ] ; then
593
610
authdb=${backup_job_db_auth}
@@ -603,9 +620,11 @@ backup_pgsql() {
603
620
write_log debug "Excluding '${db_exclude}' from ALL DB_NAME backups"
604
621
db_names=$(echo "$db_names" | sed "/${db_exclude}/d" )
605
622
done
623
+ _postgres_backup_globals=true
606
624
fi
607
625
else
608
626
db_names=$(echo "${backup_job_db_name}" | tr ',' '\n')
627
+ _postgres_backup_globals=false
609
628
fi
610
629
611
630
write_log debug "Databases Found: $(echo ${db_names} | xargs | tr ' ' ',')"
@@ -628,20 +647,7 @@ backup_pgsql() {
628
647
check_exit_code move "${backup_job_filename}"
629
648
post_dbbackup "${db}"
630
649
done
631
- prepare_dbbackup
632
- backup_job_filename=pgsql_globals_${backup_job_db_host,,}_${now}.sql
633
- compression
634
- pre_dbbackup "globals"
635
- print_notice "Dumping PostgresSQL globals: with 'pg_dumpall -g' ${compression_string}"
636
- run_as_user ${play_fair} pg_dumpall -h "${backup_job_db_host}" -U "${backup_job_db_user}" -p "${backup_job_db_port}" -g ${backup_job_extra_opts} ${backup_job_extra_dump_opts} | ${compress_cmd} | run_as_user tee "${TEMP_PATH}"/"${backup_job_filename}" > /dev/null
637
- exit_code=$?
638
- check_exit_code "${backup_job_filename}"
639
- timer backup finish
640
- file_encryption
641
- generate_checksum
642
- move_dbbackup
643
- check_exit_code move "${backup_job_filename}"
644
- post_dbbackup "globals"
650
+ if var_true "${_postgres_backup_globals}" ; then backup_pgsql_globals; fi
645
651
else
646
652
write_log debug "Not splitting database dumps into their own files"
647
653
prepare_dbbackup
@@ -667,6 +673,7 @@ backup_pgsql() {
667
673
move_dbbackup
668
674
check_exit_code move "${backup_job_filename}"
669
675
post_dbbackup all
676
+ if var_true "${_postgres_backup_globals}" ; then backup_pgsql_globals; fi
670
677
fi
671
678
}
672
679
@@ -1407,7 +1414,7 @@ post_dbbackup() {
1407
1414
source /assets/defaults/03-monitoring
1408
1415
write_log notice "Sending Backup Statistics to Zabbix"
1409
1416
silent zabbix_sender -c -c "${ZABBIX_CONFIG_PATH}"/"${ZABBIX_CONFIG_FILE}" -k dbbackup.backup -o '[{"{#NAME}":"'${backup_job_db_host}.${backup_job_db_name}'"}]'
1410
- cat <<EOF | silent run_as_user zabbix_sender -c "${ZABBIX_CONFIG_PATH}"/"${ZABBIX_CONFIG_FILE}" -i -
1417
+ cat <<EOF > /tmp/zabbix_output
1411
1418
- dbbackup.backup.size.[${backup_job_db_host}.${backup_job_db_name}] "${dbbackup_size}"
1412
1419
- dbbackup.backup.datetime.[${backup_job_db_host}.${backup_job_db_name}] "${dbbackup_date}"
1413
1420
- dbbackup.backup.status.[${backup_job_db_host}.${backup_job_db_name}] "${exit_code}"
@@ -1416,6 +1423,17 @@ post_dbbackup() {
1416
1423
${zabbix_encrypt_time}
1417
1424
${zabbix_checksum_time}
1418
1425
EOF
1426
+
1427
+ cat <<EOF | run_as_user zabbix_sender -c "${ZABBIX_CONFIG_PATH}"/"${ZABBIX_CONFIG_FILE}" -i -
1428
+ - dbbackup.backup.size.[${backup_job_db_host}.${backup_job_db_name}] "${dbbackup_size}"
1429
+ - dbbackup.backup.datetime.[${backup_job_db_host}.${backup_job_db_name}] "${dbbackup_date}"
1430
+ - dbbackup.backup.status.[${backup_job_db_host}.${backup_job_db_name}] "${exit_code}"
1431
+ - dbbackup.backup.duration.[${backup_job_db_host}.${backup_job_db_name}] "$((dbbackup_finish_time-dbbackup_start_time))"
1432
+ - dbbackup.backup.filename.[${backup_job_db_host}.${backup_job_db_name}] "${backup_job_filename}"
1433
+ ${zabbix_encrypt_time}
1434
+ ${zabbix_checksum_time}
1435
+ EOF
1436
+
1419
1437
if [ "$?" != "0" ] ; then write_log error "Error sending statistics, consider disabling with 'CONTAINER_ENABLE_MONITORING=FALSE'" ; fi
1420
1438
fi
1421
1439
0 commit comments