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
}
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]"
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
}