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.683 ]
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
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGANDO MSG ANTIGAS DA MBOX - TODOS OS USUARIOS
Script Firewall Iptables + compartilhar internet
Instalando BeEF Framework no Ubuntu
Instalação do Cisco Packettracer 7.2 no Debian 10
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (10)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









