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.173 ]
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
Screenshot de menus??!! Script com temporizador popup!
Ajuste Dinâmico do Governador de CPU no Linux
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Microfone do meu headset não é recinhecido. Meu notebook é um Acer Asp... (7)
Como configuro meu controle de xbox no mupen64? (7)
redirecionando saida de comando touch para o AWK[AJUDA] (4)