Операционная система Linux с установленным PostgreSQL. В СУБД создано несколько баз.
Создать архивную копию каждой базы. Бекап каждой базы должен храниться в отдельном архивном файле.
Во время архивации старые архивные копии должны перезаписываться.
#!/bin/bash PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin BackupDir=/home/db_repository PGPASSWORD=654321 # Создаём архивы баз PostgreSQL for dbname in `echo "SELECT datname FROM pg_database;" | psql -U postgres | tail -n +3 | head -n -2 | egrep -v 'template0|template1|postgres'`; do # Удалим старый файл с архивом базы rm -f $BackupDir/$dbname.sql.gz echo Устаревший архив базы $dbname удалён. # Создаём архивную копию базы. pg_dump -U postgres $dbname | gzip > $BackupDir/$dbname.sql.gz echo Архив базы $dbname создан. done; unset PGPASSWORD
Здесь:
Ссылка на файл со скриптом: pg_backup.sh