Ajuda com script de backup

1. Ajuda com script de backup

André Scrivener
andr3scrivener

(usa Fedora)

Enviado em 19/06/2014 - 21:21h

Senhores, boa noite,

Estou criando um script de backup de um arquivo de configuração que posso alterar várias vezes ao dia.

O nome dos arquivos principais são firewall.fwb e firewall.fw, após a execução do script quero que seja criado os arquivos firewall.fwb-bkp-19-06-2014 e firewall.fw-bkp-19-06-2014 no diretório backup, esta funcionalidade já esta funcionando.

O que estou querendo implementar é o versionamento da seguinte forma:

se já existir o arquivo firewall.fw-bkp-19-06-2014 e firewall.fwb-bkp-19-06-2014 no diretório backup será acrescentando o número 1 após a palavra bkp, ficando da seguinte forma firewall.fw-bkp1-19-06-2014 e firewall.fwb-bkp1-19-06-2014 e se já existir o arquivo bkp1 seja incrementado mais um, ficando firewall.fw-bkp2-19-06-2014 e firewall.fw-bkp2-19-06-2014 e assim adiante. Alguém tem uma ideia como posso fazer isso?

Agradeço desde já.

O script está da seguinte forma:

#!/bin/bash
#
# Função: Automatizar backup do script de firewall do FWBUILDER e o arquivo de configuração.
#

EXTENSIONFW=$(ls *fw);
EXTENSIONFWB=$(ls *fwb);
TODAY=$(date +%d-%m-%Y);
DIR=backup;

fazerbackup(){

echo "Realizando cópia de "$EXTENSIONFW" e "$EXTENSIONFWB" para "$DIR"";
sleep 4

`cp "$EXTENSIONFW" "$DIR"/"$EXTENSIONFW"-bkp-"$TODAY"`;


`cp "$EXTENSIONFWB" "$DIR"/"$EXTENSIONFWB"-bkp-"$TODAY"`;
sleep 5
echo "Backup realizado com sucesso.";

}

if [ -d "$DIR" ]; then

echo "Diretório já existe o backup será realizado.";

sleep 4

fazerbackup

else

echo "Diretório não existe, este será criado";

sleep 4

mkdir "$DIR";

fazerbackup
fi

exit




  


2. Re: Ajuda com script de backup

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 19/06/2014 - 23:28h

Oi, tudo bem?


Você vai precisar testar se o arquivo de backup existe. Se existir, você incrementa uma variavel, cria um novo nome e testa novamente...

para testar se um arquivo existe você pode usar o seguinte comando:



if [ -e nomeArquivo ] ; then echo "existe"; fi




3. Re: Ajuda com script de backup

Esli Silva
eslih

(usa Debian)

Enviado em 20/06/2014 - 11:50h

Olá,

Outra solução simples que você pode inserir (e até facilitar sua vida no futuro) é na variável que nomeia o seu arquivo com a data, incluir a hora (ou até mesmo o minuto) em que o pacote foi gerado.

Quando comitê executivo, diretoria ou gerentes falam em backups, na verdade eles querem dizer restore. Tudo que você for fazer, pense sempre na maneira mais rápida e fácil de identificar o backup correto e executar o restore. Então, por exemplo, o arquivo ser gerado com o nome "AAAA-MM-DD-hh-mm-serverBD.tgz", todos os arquivos do mês estarão agrupados em ordem, e os que foram gerados no mesmo dia, estarão também em ordem.



4. Re: Ajuda com script de backup

Esli Silva
eslih

(usa Debian)

Enviado em 20/06/2014 - 11:53h

Complementando o meu comentário, no caso a variável TODAY, poderia ficar assim:
TODAY=$(date +%d-%m-%Y--%H:%M)


5. dúvida

André Scrivener
andr3scrivener

(usa Fedora)

Enviado em 23/06/2014 - 12:04h

Pessoal, obrigado pelo feedback.

Mas tipo, tem alguma forma de eu guardar em uma variável o primeiro dígito depois da string "bkp" sendo o nome do arquivo completo firewall.fw-bkp1-19-06-2014. Porque eu poderia fazer um incremento nesta variável.









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts