r/wal-g-pg: Schedule weekly delete jobs
WAL-G slows down significantly when too many backups are kept. We need to periodically clean up old backups to maintain a reasonable level of performance, and also keep from wasting space with useless old backups.dynamic-inventory
parent
eaf9cbef9a
commit
8b9cf1985a
|
@ -1,2 +1,7 @@
|
||||||
wal_g_pg_backup_timer_schedule: >-
|
wal_g_pg_backup_timer_schedule: >-
|
||||||
*-*-* 03:56
|
*-*-* 03:56
|
||||||
|
|
||||||
|
wal_g_pg_delete_timer_schedule: >-
|
||||||
|
weekly
|
||||||
|
wal_g_pg_delete_args: >-
|
||||||
|
retain FIND_FULL 7
|
||||||
|
|
|
@ -6,3 +6,8 @@
|
||||||
systemd:
|
systemd:
|
||||||
name: wal-g-backup.timer
|
name: wal-g-backup.timer
|
||||||
state: restarted
|
state: restarted
|
||||||
|
|
||||||
|
- name: restart wal-g delete timer
|
||||||
|
systemd:
|
||||||
|
name: wal-g-delete.timer
|
||||||
|
state: restarted
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
- dch-yum
|
- dch-yum
|
||||||
|
- systemd-base
|
||||||
|
|
|
@ -55,6 +55,30 @@
|
||||||
tags:
|
tags:
|
||||||
- systemd
|
- systemd
|
||||||
|
|
||||||
|
- name: ensure wal-g delete timer is installed
|
||||||
|
template:
|
||||||
|
src: wal-g-delete.timer.j2
|
||||||
|
dest: /etc/systemd/system/wal-g-delete.timer
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: u=rw,go=r
|
||||||
|
notify:
|
||||||
|
- reload systemd
|
||||||
|
- restart wal-g delete timer
|
||||||
|
tags:
|
||||||
|
- systemd
|
||||||
|
- name: ensure wal-g delete service is installed
|
||||||
|
template:
|
||||||
|
src: wal-g-delete.service.j2
|
||||||
|
dest: /etc/systemd/system/wal-g-delete.service
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: u=rw,go=r
|
||||||
|
notify:
|
||||||
|
- reload systemd
|
||||||
|
tags:
|
||||||
|
- systemd
|
||||||
|
|
||||||
- name: ensure wal-g backup timer is enabled
|
- name: ensure wal-g backup timer is enabled
|
||||||
systemd:
|
systemd:
|
||||||
name: wal-g-backup.timer
|
name: wal-g-backup.timer
|
||||||
|
@ -62,6 +86,13 @@
|
||||||
tags:
|
tags:
|
||||||
- service
|
- service
|
||||||
|
|
||||||
|
- name: ensure wal-g delete timer is enabled
|
||||||
|
systemd:
|
||||||
|
name: wal-g-delete.timer
|
||||||
|
enabled: true
|
||||||
|
tags:
|
||||||
|
- service
|
||||||
|
|
||||||
- name: flush handlers
|
- name: flush handlers
|
||||||
meta: flush_handlers
|
meta: flush_handlers
|
||||||
|
|
||||||
|
@ -71,3 +102,10 @@
|
||||||
state: started
|
state: started
|
||||||
tags:
|
tags:
|
||||||
- service
|
- service
|
||||||
|
|
||||||
|
- name: ensure wal-g delete timer is running
|
||||||
|
systemd:
|
||||||
|
name: wal-g-delete.timer
|
||||||
|
state: started
|
||||||
|
tags:
|
||||||
|
- service
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=PostgreSQL Backup delete with WAL-G
|
||||||
|
Wants=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
Environment=PGDATA=/var/lib/pgsql/data
|
||||||
|
ExecStart=/usr/bin/wal-g-pg delete --config /etc/postgresql/wal-g.yml {{ wal_g_pg_delete_args }} --confirm
|
||||||
|
User=postgres
|
|
@ -0,0 +1,9 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Periodic PostgreSQL backup delete with WAL-G
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar={{ wal_g_pg_delete_timer_schedule }}
|
||||||
|
Persistent=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
Loading…
Reference in New Issue