From 7689e659fe56f0b411d93361b990d65d6560bf67 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 1 Sep 2023 15:42:21 -0400 Subject: [PATCH] Make vacuum script more comprehensive --- roles/pvc/tasks/patroni/main.yml | 6 ----- roles/pvc/tasks/pvc/main.yml | 6 +++++ .../pvcdns-vacuum.j2 => pvc/pvc-vacuum.j2} | 27 ++++++++++++++----- 3 files changed, 27 insertions(+), 12 deletions(-) rename roles/pvc/templates/{patroni/pvcdns-vacuum.j2 => pvc/pvc-vacuum.j2} (55%) mode change 100644 => 100755 diff --git a/roles/pvc/tasks/patroni/main.yml b/roles/pvc/tasks/patroni/main.yml index bae0a1d..dfa4bac 100644 --- a/roles/pvc/tasks/patroni/main.yml +++ b/roles/pvc/tasks/patroni/main.yml @@ -60,12 +60,6 @@ dest: /usr/lib/check_mk_agent/plugins/postgres mode: 0755 -- name: install daily vacuum script - template: - src: patroni/pvcdns-vacuum.j2 - dest: /etc/cron.daily/pvcdns-vacuum - mode: 0755 - - name: install initial schema files copy: src: "{{ item.src }}" diff --git a/roles/pvc/tasks/pvc/main.yml b/roles/pvc/tasks/pvc/main.yml index 10f3e7b..b350f21 100644 --- a/roles/pvc/tasks/pvc/main.yml +++ b/roles/pvc/tasks/pvc/main.yml @@ -58,4 +58,10 @@ - pvcd.service - pvcd.target +- name: install daily vacuum script + template: + src: pvc/pvc-vacuum.j2 + dest: /etc/cron.daily/pvc-vacuum + mode: 0755 + - meta: flush_handlers diff --git a/roles/pvc/templates/patroni/pvcdns-vacuum.j2 b/roles/pvc/templates/pvc/pvc-vacuum.j2 old mode 100644 new mode 100755 similarity index 55% rename from roles/pvc/templates/patroni/pvcdns-vacuum.j2 rename to roles/pvc/templates/pvc/pvc-vacuum.j2 index b9f4782..8cf264f --- a/roles/pvc/templates/patroni/pvcdns-vacuum.j2 +++ b/roles/pvc/templates/pvc/pvc-vacuum.j2 @@ -1,6 +1,14 @@ #!/bin/bash -# Daily vaccuum script for PostgreSQL databases -# {{ ansible_managed }} +# Daily vaccuum script for PVC daemons +# Ansible managed - last modified on 2019-08-12 13:20:15 + +# This script cleans up the PostgreSQL databases as well as the Zookeeper +# database. This prevents filesystem growth balooning after loong running +# periods. + +# +# PostgreSQL +# # Don't run if we aren't the Patroni primary HOSTNAME="$( hostname -s )" @@ -11,7 +19,14 @@ if [[ $HOSTNAME != $PRIMARY ]]; then fi # Analyze the database -echo -e "----------------------------" &>>/var/log/pvc/pdns/vacuum.log -echo -e "$( date )" &>>/var/log/pvc/pdns/vacuum.log -echo -e "----------------------------" &>>/var/log/pvc/pdns/vacuum.log -su postgres -c 'vacuumdb --verbose --analyze --all' &>>/var/log/pvc/pdns/vacuum.log +echo -e "----------------------------" &>>/var/log/pvc/vacuum.log +echo -e "$( date )" &>>/var/log/pvc/vacuum.log +echo -e "----------------------------" &>>/var/log/pvc/vacuum.log +su postgres -c 'vacuumdb --verbose --analyze --all' &>>/var/log/pvc/vacuum.log + +# +# Zookeeper +# + +export ZOOCFG=/etc/zookeeper/conf/zoo.cfg +/usr/share/zookeeper/bin/zkCleanup.sh -n 7 &>>/var/log/pvc/vacuum.log