Initial import
This commit is contained in:
77
OLD/dump_all_pg_dbs.sh.BAK
Executable file
77
OLD/dump_all_pg_dbs.sh.BAK
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
BACKUP_BASE_DIR="/backup/psql"
|
||||
mkdir -p $BACKUP_BASE_DIR
|
||||
|
||||
PSQL_BIN_DIR=/usr/local/pgsql/bin
|
||||
|
||||
days=30
|
||||
|
||||
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11
|
||||
|
||||
# -- erstelle liste der datenbanken
|
||||
# --
|
||||
listfile=${BACKUP_BASE_DIR}/dblist-`date +"%Y%m%d-%H%M"`.txt
|
||||
echo -e "Stand: `date +\"%d.%m.%Y %H:%Mh\"`\n" > $listfile
|
||||
su postgres -c"${PSQL_BIN_DIR}/psql -l" >> $listfile
|
||||
|
||||
|
||||
# -- erstelle dump zum wiederherstellen der
|
||||
# -- user und datenbanken.
|
||||
# --
|
||||
dbusers_databases_file=${BACKUP_BASE_DIR}/db_users_databases-`date +"%Y%m%d-%H%M"`.sql
|
||||
|
||||
cat<<EOF > $dbusers_databases_file
|
||||
--
|
||||
-- restore user and databasedefinitions (no data) for db-cluster
|
||||
-- su postgres -c"psql -f $dbusers_databases_file template1"
|
||||
--
|
||||
|
||||
EOF
|
||||
|
||||
su postgres -c"${PSQL_BIN_DIR}/pg_dumpall -g" >> $dbusers_databases_file
|
||||
|
||||
cat<<EOF >> $dbusers_databases_file
|
||||
|
||||
|
||||
--
|
||||
-- Database creation
|
||||
--
|
||||
|
||||
|
||||
EOF
|
||||
su postgres -c"${PSQL_BIN_DIR}/pg_dumpall -s" | grep "CREATE DATABASE" >> $dbusers_databases_file
|
||||
# --
|
||||
# -- Wiederherstellung der user und datenbanken (nur definitionen - keine daten )
|
||||
# -- su postgres -c"psql -f $dbusers_databases_file template1"
|
||||
|
||||
databases=`su postgres -c"${PSQL_BIN_DIR}/psql -l -t" | grep -v -e"^$" | awk '{print$1}'`
|
||||
|
||||
|
||||
# -- erstelle dump dateien fer jede einzelne datenbank
|
||||
# --
|
||||
for db in $databases ; do
|
||||
|
||||
BACKUP_DIR=${BACKUP_BASE_DIR}/$db
|
||||
mkdir -p $BACKUP_DIR
|
||||
|
||||
cat<<EOF > ${BACKUP_DIR}/dump_${db}-${DATE}.sql
|
||||
--
|
||||
-- restore data for databas $db:
|
||||
-- su postgres -c"psql -f ${BACKUP_DIR}/dump_${db}-${DATE}.sql ${db}"
|
||||
--
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
DATE=`date +"%Y%m%d-%H%M"`
|
||||
|
||||
su postgres -c"${PSQL_BIN_DIR}/pg_dump -c $db" >> ${BACKUP_DIR}/dump_${db}-${DATE}.sql
|
||||
done
|
||||
|
||||
|
||||
# delete all older than $days days
|
||||
#
|
||||
/usr/bin/find $BACKUP_DIR -type f -mtime +${days} -exec /bin/rm {} \;
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user