Pré-requisitos:
libnotify
para exibir um balão de alerta quando o backup estiver em andamento (Não obrigatório).
Instale pelo console com
sudo apt-get install libnotify-bin
ou clicando aqui caso esteja usando o firefox no ubuntu.postgresql-client
para ter a ferramenta pg_dumpall que vamos usar no script (Obrigatório).
Instale pelo console com
sudo apt-get install postgresql-client
ou clique aqui.
O Script:
#!/bin/sh pgu="postgres" #O usuário do banco de dados pgh="localhost" #O endereço do servidor destin="/home/usuario/backup/" #O local onde será feito o backup vYear=$(date +%Y) #O Ano vMonth=$(date +%m) #O Mês vDay=$(date +%d) #O Dia vH=$(date +%H) #A Hora vM=$(date +%M) #O minuto fileName="auto-$pgh-$vDay.$vMonth.$vYear.$vH.$vM.backup" #O nome do arquivo do backup fileError="auto-$pgh-$vDay.$vMonth.$vYear.$vH.$vM.error" #O nome do arquivo do backup icon="/usr/share/icons/gnome/scalable/actions/gtk-refresh.svg" #O icone da notificação startMsg="Está sendo efetuado um backup do servidor $pgh para o arquivo $destin$fileName!" #Mensagem de inicio endMsgSuccess="O backup do servidor $pgh para o arquivo $destin$fileName foi efetuado com sucesso!" #Mensagem de término com sucesso endMsgFail="Houve uma falha no backup do servidor $pgh para o arquivo $destin$fileName." #Mensagem de término com falha #Iniciando... echo $startMsg if [ $(which notify-send) ]; then notify-send "Backup Postgre" "$startMsg" -i $icon fi #Copiando... pg_dumpall -U $pgu -h $pgh > $destin$fileName 2>$destin$fileError s=$? if [ $s != 0 ]; then echo $endMsgFail if [ $(which notify-send) ]; then notify-send "Backup Postgre" "$endMsgFail" -i $icon fi error=$(cat $destin$fileError) zenity --error --window-icon="$icon" --title="Backup Postgre" --text="$endMsgFail\nDetalhes:\n$error" exit 1; else echo $endMsgSuccess if [ $(which notify-send) ]; then notify-send "Backup Postgre" "$endMsgSuccess" -i $icon fi zenity --notification --window-icon="$icon" --title="Backup Postgre" --text="$endMsgSuccess" exit 0; fi
Salve esse arquivo como backuper.sh (ou o nome que achar melhor) e depois altere as suas permissões para execução.
chmod +x backuper.sh
Ai é só executá-lo pelo prompt usando
./backuper.sh
.No próximo post vou ensinar como fazer o script ser executado automáticamente e periodicamente.
Até mais.
Update
Dei uma tunada no script e agora ele faz clonagem de servidores Postgre
No terminal, execute os comandos:
wget http://dl.dropbox.com/u/4917466/pgclone
sudo mv pgclone /bin/pgclone
sudo chmod 777 /bin/pgclone
Agora quando for usar basta digitar no terminal um dos comandos abaixosudo mv pgclone /bin/pgclone
sudo chmod 777 /bin/pgclone
pgclone
Faz uma cópia do servidor localhost com o usuário postgrespgclone -u usuario -h host
Faz uma cópia do servidor "host" com o usuario "usuario"pgclone --clone --clone-user usuario --clone-host host
Faz uma clonagem do servidor localhost no servidor "host"
Nenhum comentário:
Postar um comentário