From 504858958920404926b47966a3dcaaaad820be22 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Apr 07 2020 03:49:08 +0000 Subject: db-koji02: make sure backup uses all cpus Signed-off-by: Kevin Fenzi --- diff --git a/roles/postgresql_server/files/backup-database.db-koji02 b/roles/postgresql_server/files/backup-database.db-koji02 new file mode 100644 index 0000000..a0b93f4 --- /dev/null +++ b/roles/postgresql_server/files/backup-database.db-koji02 @@ -0,0 +1,16 @@ +#!/bin/bash +# Backup a database *locally* to /backups/. + +# Sleep a bit so we do not have a thundering herd on db hosts +sleep $[ ( $RANDOM % 7200 ) + 1 ]s + +DB=$1 + +# Make our latest backup +# Make it use a limited number of threads because pxz will use all the +# cpus which causes pg_dump to starve which causes... + +/usr/bin/pg_dump --exclude-table-data=sessions -C $DB | /usr/bin/pxz -T24 > /backups/$DB-$(date +%F).dump.xz + +# Also, delete the backup from a few days ago. +rm -f /backups/$DB-$(date --date="1 days ago" +%F).dump.xz diff --git a/roles/postgresql_server/tasks/main.yml b/roles/postgresql_server/tasks/main.yml index 4ff1249..dd34259 100644 --- a/roles/postgresql_server/tasks/main.yml +++ b/roles/postgresql_server/tasks/main.yml @@ -107,6 +107,12 @@ - name: Copy over backup scriplet copy: src=backup-database dest=/usr/local/bin/backup-database mode=0755 + when: not inventory_hostname.startswith('db-koji02') + tags: + - postgresql + +- name: Copy over backup scriplet + copy: src=backup-database dest=/usr/local/bin/backup-database mode=0755 when: inventory_hostname.startswith('db-koji02') tags: - postgresql