parent
36350b7a70
commit
6d98c1ba53
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# CONFIG
|
||||
### Example Config File ############
|
||||
###
|
||||
### PORT=5432
|
||||
### DIR=/var/lib/pgsql/backup
|
||||
### COMPRESSION=zstd
|
||||
### COMP_LEVEL=14
|
||||
### THREADS=2
|
||||
###
|
||||
####################################
|
||||
|
||||
source ${HOME}/.postgres_backup.conf
|
||||
# END CONFIG
|
||||
|
||||
## Check if automated, set appropriate directory
|
||||
[ "$1" = "auto" ] && DIR=${DIR}/auto || DIR=${DIR}/manual
|
||||
|
||||
## Set date for timestamp
|
||||
DATE=$(date +%Y%m%d-%H%M)
|
||||
|
||||
## Get list of DBs
|
||||
list_db=$(psql -p${PORT} -U postgres -t -c 'select datname from pg_database;' | grep -v 'template0\|template1\|postgres' | sed '/^$/d')
|
||||
|
||||
for db in $list_db; do
|
||||
case $COMPRESSION in
|
||||
xz)
|
||||
pg_dump -O $db | xz -T${THREADS} -${COMP_LEVEL} - > ${DIR}/${db}-${DATE}.dmp.xz
|
||||
;;
|
||||
zstd)
|
||||
pg_dump -O $db | zstd -T${THREADS} -${COMP_LEVEL} -z - > ${DIR}/${db}-${DATE}.dmp.zst
|
||||
;;
|
||||
*)
|
||||
echo "ERROR 11: Compression not configured correctly!"
|
||||
exit 11
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
## Dump Globals
|
||||
pg_dumpall -p${PORT} -g > ${DIR}/globals_${DATE}.dmp
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in new issue