Rotina para backup diário, semanal e mensal (exemplo para Firebird)
Publicado por Marcos Giansante Bocca (última atualização em 17/12/2009)
[ Hits: 14.779 ]
Homepage: www.bocca.adm.br
Rotina para backup de banco de dados que mantém os arquivos dos últimos 7 dias, dos últimos 4 fins de semana e permanentemente do dia primeiro do mês utilizando o cron do Linux. Aqui adaptada para Firebird, utilizado pelo aplicativo Intsys.
#!/bin/sh #begin of bkfirebird.sh #Author: Marcos G. Bocca, 2009 http://marcos.bocca.adm.br #Reproducao autorizada desde que mantida esta citacao de autoria #Salve uma copia deste no diretorio de programas; crie os diretorios # e acerte propriedades como por exemplo: if false; then mkdir -p /opt/fbdata/backup/1diario mkdir /opt/fbdata/backup/2mensal mkdir /opt/fbdata/backup/2semanal mkdir /opt/fbdata/backup/3mensal mkdir /opt/fbdata/backup/9permanente rmdir /opt/fbdata/backup/2mensal ll /opt/fbdata/backup/ chown -R firebird:firebird /opt/fbdata/backup/ chmod -R 775 /opt/fbdata/backup/ chown firebird:firebird /usr/local/bin/bkfirebird.sh chmod 770 /usr/local/bin/bkfirebird.sh fi #Sugestao de parametros (vide "man date" ou "date --help" para todos) #%u day of week (1..7); 1 is Monday #%A locale's full weekday name (e.g., Sunday) #%U week number of year, with Sunday as first day of week (00..53) #Substitua os asteriscos pela senha do banco de dados e #altere as 3 linhas abaixo conforme seu ambiente: C="/opt/firebird/bin/gbak -B -USER SYSDBA -PAS ****** " BKD="/opt/fbdata/backup/" DBD="/opt/fbdata/" if [ "$2" = "" ]; then echo use $0 DataBaseFile Subdir_of_backup_dir [date_format_to_rename] echo ex.: $0 DOORS.GDB 1diario u echo "se terceiro parametro for igual a U (semana do ano), e' apagado arquivo U - 4)" echo "Author: Marcos G. Bocca, 2009 http://marcos.bocca.adm.br" echo "Reproducao autorizada desde que mantida esta citacao de autoria" else # $1=db (ex: DOORS.GDB) $2=subdir (ex: 1diario) echo backup at $BKD$2/"$1"_$(date +%Y%m%d).gbak #touch $BKD$2/"$1"_$(date +%Y%m%d).gbak $C $DBD$1 $BKD$2/"$1"_$(date +%Y%m%d).gbak ;#log=$BKD$2/"$1"man.log full=y statistics="none" echo gzipping $BKD$2/"$1"_$(date +%Y%m%d).gbak gzip $BKD$2/"$1"_$(date +%Y%m%d).gbak if [ "$3" != "" ]; then echo moving $2/"$1"_$(date +%Y%m%d).gbak.gz to $BKD$2/"$1"_$(date +%"$3").gbak.gz mv $BKD$2/"$1"_$(date +%Y%m%d).gbak.gz $BKD$2/"$1"_$(date +%"$3").gbak.gz if [ "$3" = "U" ]; then rm $BKD$2/"$1"_`echo $(date +%"$3") - 4 | bc`.gbak.gz fi fi ls -lrt $BKD$2/ fi #Resultado esperado para comando ... #bkfirebird.sh DOORS.GDB 1diario #backup at /opt/bfdata/backup/1diario/DOORS.GDB_20091215.gbak #gzipping /opt/bfdata/backup/1diario/DOORS.GDB_20091215.gbak #total 5168 #-rw-r--r-- 1 root root 5279200 Dec 15 19:26 DOORS.GDB_20091215.gbak.gz #Sugestao para cron: #De segunda a sexta: bkfirebird.sh DOORS.GDB 1diario u #Sabado: bkfirebird.sh DOORS.GDB 2semanal U #Todo dia 1 do mes: bkfirebird.sh DOORS.GDB 3mensal ####end of bkfirebird.sh
tuiteroPreguicoso1.0 - automatiza o envio de mensagens ao Twitter
Levantamento de hardware e software no Mandriva 2006
Backup e PHP conbinação explosiva.
Script para checagem de Ponto de Acesso.
Criando vários usuários no LDAP a partir de um arquivo
Nenhum comentário foi encontrado.
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









