From bd50c6e4bccf6bdf11885afa230404a823786ad6 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 7 Apr 2020 03:49:08 +0000 Subject: [PATCH] db-koji02: make sure backup uses all cpus Signed-off-by: Kevin Fenzi --- .../files/backup-database.db-koji02 | 16 ++++++++++++++++ roles/postgresql_server/tasks/main.yml | 6 ++++++ 2 files changed, 22 insertions(+) create mode 100644 roles/postgresql_server/files/backup-database.db-koji02 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 0000000000..a0b93f49cd --- /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 4ff1249450..dd3425984e 100644 --- a/roles/postgresql_server/tasks/main.yml +++ b/roles/postgresql_server/tasks/main.yml @@ -105,6 +105,12 @@ tags: - postgresql +- 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')