]> git.nbdom.net Git - nb.git/commitdiff
etc/profile.d/pg.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Thu, 21 Nov 2024 13:24:59 +0000 (14:24 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Thu, 21 Nov 2024 13:24:59 +0000 (14:24 +0100)
etc/profile.d/ldap.sh
etc/profile.d/pg.sh

index 65fd986b6f8273055f9a392869a8b177708be85e..b167630e3f9c870fab733efcdeafb975cb79070e 100644 (file)
@@ -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
 
 }
index c2b07de44bae0084d66a2747f9ae2fde20632266..e641b96f7a34d7dfb288b1439dae1c05d027fb51 100644 (file)
@@ -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
 
 }