From b0d9131366b6e3aca953c2fd6e9a53715e72b3f9 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Thu, 21 Nov 2024 14:24:59 +0100 Subject: [PATCH] etc/profile.d/pg.sh --- etc/profile.d/ldap.sh | 17 ++++++++--------- etc/profile.d/pg.sh | 27 +++++++++++++-------------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/etc/profile.d/ldap.sh b/etc/profile.d/ldap.sh index 65fd986b..b167630e 100644 --- a/etc/profile.d/ldap.sh +++ b/etc/profile.d/ldap.sh @@ -155,17 +155,16 @@ ldap_backup() { shift done - if [ ! -w "$dir" ] ; then - echo "ERR: can't write into $dir" - return 1 - fi - - slapcat -n 0 -l $dir/$preff-config.ldif - slapcat -n 1 -l $dir/$preff-data.ldif - gzip $dir/$preff-*.ldif + ( + umask 077 + [ -d "$dir" ] || mkdir -p "$dir" || return + slapcat -n 0 -l $dir/$preff-config.ldif + slapcat -n 1 -l $dir/$preff-data.ldif + bzip2 -9 $dir/$preff-*.ldif + ) if [ -n "$keep_days" -a "$keep_days" -gt 0 ]; then - find $dir/ -type f -mtime +$keep_days -delete + find $dir/*.ldif* -type f -mtime +$keep_days -delete fi } diff --git a/etc/profile.d/pg.sh b/etc/profile.d/pg.sh index c2b07de4..e641b96f 100644 --- a/etc/profile.d/pg.sh +++ b/etc/profile.d/pg.sh @@ -66,7 +66,7 @@ pg_backups_dir() { pg_backup() { local keep_days=7 - local dir=/var/backups/postgresql + local dir=/var/backups/postgres local preff="$(date +'%F-%H%M')" local usage="pg_backup [-dir PATH] [-days DAYS]" @@ -79,24 +79,23 @@ pg_backup() { shift done - if [ ! -w "$dir" ] ; then - echo "ERR: can't write into $dir" - return 1 - fi - cd / su postgres -c 'psql -d template1 -c "select 1" >/dev/null 2>&1' || return 0 - [ -d "$dir" ] || mkdir -p "$dir" - if pg_dumpall --help |grep '\--oids' -q - then - su postgres -c 'pg_dumpall -c --oids' | bzip2 -9 -c > "$dir"/$preff-pg_dumpall.sql.bz2 - else - su postgres -c 'pg_dumpall -c' | bzip2 -9 -c > "$dir"$preff-/pg_dumpall.sql.bz2 - fi + + ( + umask 077 + [ -d "$dir" ] || mkdir -p "$dir" || return + if pg_dumpall --help |grep '\--oids' -q + then + su postgres -c 'pg_dumpall -c --oids' | bzip2 -9 -c > "$dir"/$preff-pg_dumpall.sql.bz2 + else + su postgres -c 'pg_dumpall -c' | bzip2 -9 -c > "$dir/"$preff-pg_dumpall.sql.bz2 + fi + ) su postgres -c 'vacuumdb -q -a -z' if [ -n "$keep_days" -a "$keep_days" -gt 0 ]; then - find $dir/ -type f -mtime +$keep_days -delete + find $dir/*-pg_dumpall.sql* -type f -mtime +$keep_days -delete fi } -- 2.47.3