#!/bin/bash
# Automatic Packhouse database backup script
# BASH is using because of bash-style arrays
##       
## BASH  - ,   -   
##  GNU-  date, ls, rm

export PGUSER=postgres
export PGDATABASE=packhouse

# Number of everyday backup files to keep
## -   ,  
##     
nofbackups=5

##      *.backup
ext=backup

# Backup file name, see `info date` for tuning
##   ,  
##     , ,  2:00      
##  ,   
#todayname=`date '+%Y-%m-%d.backup' -d '-1 day'`
todayname=`date "+%Y-%m-%d.$ext"`

# pg_dump command switches
##    pg_dump
format='-Fc -cn'

backupdir=/var/lib/packhouse/storage/backups
pgbin=/usr/bin

# Begin

cd $backupdir

test -e $todayname && rm -f $todayname

$pgbin/pg_dump $format -f $backupdir/$todayname 

ls=(`ls -r *.$ext`)

for i in ${ls[*]:$nofbackups} ; do
 rm -f $i
done
