Estude o material abaixo, espero que seja util.
##--------------------------------------------
##--------------------------------------------
#! /bin/bash
# Nome do servidor
SERVER=banana.xxxxx-gg.net
# diretorio para colocar os backups
BACKDIR=/dados/seulocal
# formato da data utilizado no nome do arquivo
#DATE=`date +'%m-%d-%Y'`
DATE=`date +'%d-%m-%Y'`
#DATE=`date +'%H-%M-%S-%d-%m-%Y'`
#----------------------PgSql--------------------#
# local onde está o servidor pgsql
HOST=localhost
# usuario para o servidor pgsql
USER=postgre
# Password do usuario
PASS=bananamole
# listagem dos databases para backup, separados por espaco
DBS="banco0 banco1"
# Coloque "y" para realizar backup de todas databases.
# sobrescreve a opcao anterior
DUMPALL=n
#----------------------FTP--------------------#
# coloque "y" para enviar os backups via FTP
FTP=y
FTPHOST="10.239.99.7"
FTPUSER="ftppguser"
FTPPASS="ftppgsenha"
# diretorio para fazer o backup no servidor ftp
FTPDIR="pgsql"
#-------------------Config de delecao-------------------#
# apagar arquivos antigos
DELETE=y
# manter quantos dias de backup?
DAYS=9
#----------------------Fim das configs------------------#
# verifica se o diretorio existe, caso não, cria.
if [ -e $BACKDIR ]
then
echo Diretorio de backup ja existe
else
mkdir $BACKDIR
fi
if [ $DUMPALL = "y" ]
then
echo "Criando a lista das databases... NOOOOT"
#mysql -h $HOST --user=$USER --password=$PASS -e "show databases;" >
dbs_on_$SERVER.txt
# redefine a lista de databases para backup
#DBS=`sed -e ':a;N;$!ba;s/\n/ /g' -e 's/Database //g' dbs_on_$SERVER.txt`
fi
echo "Realizando o backup das databases..."
for database in $DBS
do
/opt/pgsql/bin/pg_dump -U $USER -F p -v -f
$BACKDIR/$SERVER-pgsql-noite-$database-$DATE.sql $database
gzip -f -9 $BACKDIR/$SERVER-pgsql-noite-$database-$DATE.sql
done
if [ $FTP = "y" ]
then
echo "Iniciando da conexao FTP..."
cd $BACKDIR
ATTACH=`for file in *$DATE.sql.gz; do echo -n -e "put ${file}\n"; done`
ftp -nv <<EOF
open $FTPHOST
user $FTPUSER $FTPPASS
cd $FTPDIR
$ATTACH
quit
EOF
echo -e "Tranferencia via FTP completa! \n"
fi
if [ $DELETE = "y" ]
then
find $BACKDIR -name "*.sql.gz" -mtime $DAYS -exec rm {} \;
if [ $DAYS = "1" ]
then
echo "Backup de ontem apagado."
else
echo "O backup de $DAYS dias atras foi apagado."
fi
fi
echo Backup completo!
2009/4/14 Ralf Schlindwein <[email protected]>
> alguem ja fez backup da base de dados postgresql e jogou em um FTP, e tem
> algum script ja pronto em linux??
>
>
> Sds
>
> Ralf
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral