#!/bin/bash DIR=/opt/PostgreSQL [ ! $DIR ] && mkdir -p $DIR || : LIST=$(/opt/PostgreSQL/9.1/bin/psql -tqc 'SELECT datname FROM pg_database where datistemplate = false;') start_date=$(date +%Y%m%d-%T) echo $start_date "START pg_dump database(s) !" >> /opt/PostgreSQL/log_bk.log for d in $LIST do temp_date_s=$(date +%Y%m%d-%T) echo $temp_date_s + "Database: " $d >> /opt/PostgreSQL/log_bk.log string=$(/opt/PostgreSQL/9.1/bin/pg_dump $d) if ((${#string} == "0")) then /opt/PostgreSQL/9.1/bin/pg_dump $d &> /opt/PostgreSQL/log_temp.log cat /opt/PostgreSQL/log_temp.log >> /opt/PostgreSQL/log_bk.log fi if ((${#string} != "0")) then /opt/PostgreSQL/9.1/bin/pg_dump $d > $DIR/$d.sql echo "Successful !" >> /opt/PostgreSQL/log_bk.log fi done end_date=$(date +%Y%m%d-%T) echo $end_date "END pg_dump database(s) !" >> /opt/PostgreSQL/log_bk.log