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.535 ]
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
Avisos de segurança do espaço em uso!
Script Firewall Iptables + compartilhar internet
O que fazer após instalar o Debian 8 - versão em Shell Script
Script Para Ajustar o Intevalo de Legendas
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Dica para encontrar diversos jogos Indies criativos
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Software livre - será que eu estou tão errado assim? (17)
Dificuldade com Ocs 2.12.3 no Debian 13 com Apache2 - Can't load ... (4)
paginação dos favoritos não funciona no vivaolinux[BU... (4)