mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2026-08-08 17:03:51 +02:00
Exclude so_telegraf from the nightly Postgres backup
pg_dumpall dumped every database, and so_telegraf dominated the result: it is the only database that grows with grid size and metric volume, while everything else in the cluster is small and mostly static. Nothing is lost by skipping it. The data is transient metrics on a 14-day retention window, roles are globals so the per-minion telegraf logins are still dumped, and the database itself is rebuilt after a restore without operator action -- init-db.sh recreates it (run on every highstate by postgres_bootstrap_soc_db, not just on a fresh volume), telegraf_users.sls re-provisions the roles and schema, and Telegraf recreates its tables on first write.
This commit is contained in:
@@ -47,7 +47,12 @@ trap 'rm -f "$TMPFILE"' EXIT
|
||||
|
||||
# Dump all databases and roles, compress. Write to a temp file so the final
|
||||
# filename only ever appears for a complete, verified backup.
|
||||
if ! docker exec so-postgres pg_dumpall -U postgres | gzip > "$TMPFILE"; then
|
||||
#
|
||||
# so_telegraf is excluded: it is transient metrics on a short retention window,
|
||||
# it dominates the dump size, and it is rebuilt automatically after a restore --
|
||||
# init-db.sh recreates the database and Telegraf recreates its tables on first
|
||||
# write. Roles are globals, so the per-minion telegraf logins are still dumped.
|
||||
if ! docker exec so-postgres pg_dumpall -U postgres --exclude-database=so_telegraf | gzip > "$TMPFILE"; then
|
||||
log "ERROR: pg_dumpall/gzip failed; backup aborted"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user