[Shell Script] Usando o FIND para fazer backup


Uma das coisas mais difíceis na hora de montar uma estratégia de backup é saber onde encontrar os arquivos necessários. Neste caso, o uso do comando ‘find’ ajuda e muito.
Vamos ver aqui 2 casos como exemplo: um de backup de todos os arquivos que sejam de propriedade do usuário ‘raulzito’ e outro caso é de backup por extensão de arquivo. Nos 2 casos, os scripts vão funcionar como comandos no PATH do usuário root,  para tal os 2 scripts  estarão em /usr/local/sbin/ e em /usr/local/bin, respectivamente e terão que ter permissão de execução.

BACKUP DOS ARQUIVOS DO USUÁRIO RAULZITO
#vim /usr/local/sbin/bkp_arq.sh
 

Primeiramente queria explicar que a variável $1 trata-se do primeiro argumento digitado pelo usuário após o comando. Ex: em bkp_arq.sh raulzito, raulzito é o valor da variável $1. Ok? Sendo assim, criamos uma variável chamada lista, que recebe como valor o resultado da busca desde a raiz do sistema por arquivos que pertençam ao usuário que for digitado após o comando. O find tem a vantagem de gerar uma lista ‘limpa’ de tudo aquilo que for procurado com ele, esta lista sempre vem apenas com a localização do arquivo ou diretório procurado.
Criamos uma nova variável, chamada bkp_dir,  contendo o diretório de destino para os arquivos de backup.
Depois, foi só usar as vaiáveis com o comando tar…

Não podemos esquecer de tornar o programa executável:
#chmod +x /usr/local/sbin/bkp_arq.sh
Agora é só executar o programa:
#bkp_arq.sh raulzito

Conferindo a criação do arquivo de backup:

 
FAZENDO BACKUP DE ARQUIVOS DE POR EXTENSÃO
O primeiro esclarecimento que eu gostaria de fazer é o de que os arquivos de configuração no Linux não têm sempre o nome terminando com .conf, como no exemplo de sshd_config, que é o arquivo de configuração do servidor SSH. Vou utilizar esta extensão apenas como exemplo de uso.
Vamos criar o arquivo:
#vim /usr/local/bin/bkp_ext.sh

Seguindo os mesmos padrões do programa anterior,  criamos a lista de arquivos a serem copiados com o find e vamos ‘esperar’ a extensão dele como argumento do comando bkp_ext.
No caso acima, a opção -name do find busca arquivos ou diretórios com um nome específico ou parte dele.
Não podemos esquecer de dar permissão de execução ao programa:
#chmod +x /usr/local/bin/bkp_ext.sh
Agora é só executar e conferir o backup:
#bkp_ext.sh conf


 
Boa sorte a todos!!

Share

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.