#!/bin/bash

log=/var/log/dbbackup.log

PGUSER=postgres
PGPASSWORD=postgres741369

export PGUSER
export PGPASSWORD

list=$1
username_host=$2
path=$3
age=$4

ssh_cmd="$(cat <<-EOF

if [ ! -d "$path" ];
then
 mkdir -p $path
fi

if [ -d "$path" ];
then
 find  $path -maxdepth 1 -type f -ctime +$age  -delete
fi

EOF
)"

ssh -t $username_host "$ssh_cmd"

while read dbname
do
  if [[ "$(awk -F "" '{print $1}' <<< "$dbname")" == "#" ]];
   then
    echo "skiping line"
   else
    echo "$(date +"%h %d %y %H:%M:%S") start dump $dbname" >> $log
    pg_dump  $dbname | gzip -c | ssh $username_host "cat > $path/$dbname-$(date "+%Y-%m-%d").sql.gz"
    echo "$(date +"%h %d %y %H:%M:%S") finish dump $dbname" >> $log
    echo "$dbname"
   fi
done < $list

unset PGUSER
unset PGPASSWORD
