Como criar uma rotina de backup com TAR no Linux

Como criar uma rotina de backup com TAR no Linux

Criar uma rotina de backup para garantir a informação, seja de uso pessoal ou corporativo, requer muita responsabilidade e, em ambiente em Linux utilizando o comando TAR e seus atributos, mais a CRON para gerenciar a execução dos backups, temos uma rotina de backup 100% gratuita e totalmente segura.

Este arquivo faz parte de uma lista que estou escrevendo aqui no blog do projeto Explorando TI, trazendo todas as minhas dificuldades superadas em ambientes Linux.

Neste exemplo, estou utilizando um servidor Debian, mas pode ser executado em qualquer distribuição Linux, desde que, tenha o TAR instalado.

[wp_ad_camp_1]

Primeiro Passo, Informações para backup.

O primeiro passo é entender qual é a massa de dados que precisa entrar em uma rotina de backup, geralmente em empresas, são diretórios de usuários (/home), diretórios de departamentos, como Departamento Financeiro, Recursos Humanos, Marketing e etc.

Agora, é necessário saber qual é tamanho em GIGA de todas as pastas desta estrutura, com esta informação, precisar preparar um local no próprio equipamento ou em outro servidor, com pelo menos duas vezes o tamanho da estrutura de diretórios.

Fazer o backup no próprio equipamento como disse anteriormente, ajuda na performance e agilidade, ou seja, tempo de execução do backup, logo após o final do job de backup, é necessário transferir para outro local.

Segundo Passo, entender o comando TAR e seus atributos.

O que é o TAR?


salva muitos arquivos juntos (compactados) em um único arquivo de fita ou disco e pode restaurar arquivos individuais.

Parâmetros do TAR.

  • z – Filtra o arquivo-tar por meio de gzip.
  • c – Cria um novo arquivo.
  • x – Extrai arquivos de um arquivo-tar.
  • v – Lista verbosamente os aquivos processados.
  • f – Usa arquivo ou dispositivo.

Fonte: tar –help (terminal).

Terceiro Passo, criar o Script em Shell e adiciona-lo a Crontab.

O terceiro passo consiste em criar o script, para isso vamos criar um arquivo chamado backup_tar.sh dentro do diretórios /bin, veja a seguir a sintaxe.

Abra o terminal do linux e, com permissão de root execute o comando abaixo.

nano /bin/backup_tar.sh

Com o arquivo criado, agora vamos edita-lo utilizando o comando abaixo.

nano /bin/backup_tar.sh

Com o arquivo backup_tar.sh aberto, vamos iniciar a programação do scritp.

#!/bin/bash

DATA=`date +%d-%m-%Y-%H-%M`

cd /Backup

sudo tar -zcvf backup-"$DATA".tar.gz /home/silvio/Documentos/Compras > /var/log/log_backup/backup-`date +%d-%m-%Y-%H-%M`

Explicando o código acima.

  • #!/bin/bash – Para que o terminal entenda que se trata de um shell, o arquivo deve iniciar com esta instrução. Instrução obrigatória.
  • DATA=date +%d-%m-%Y-%H-%M – É uma variável que retorna a data composta por, dia, mês, ano, hora e minuto. Esta variável será adicionado ao nome do arquivo quando for executado o comando TAR, serve para ter controle de criação do backups. Instrução não obrigatória.
  • cd /backup – Comando para acessar um diretório específico, para armazenar o arquivo compactado, este diretório deve estar criado antes que o script seja executado.
  • sudo – Instrução para executar com permissão elevada.
  • tar -zcvf – Comando TAR + Instrução de compactação.
  • backup-“$DATA”.tar.gz – Nome do arquivo com a variável DATA.
  • /home/silvio/Documentos/Compras – Caminho onde será gerado o arquivo compactado.
  • > /var/log/log_backup/– Caminho onde será gerado o arquivo de LOG, para certificar que o backup foi concluído com sucesso e, será possível listar dos os arquivos que foram compactados.
  • backup-date +%d-%m-%Y-%H-%M – Nome do arquivo de log adicionado a variável DATA.

Transformar o arquivo backup_tar.sh em executável no linux.

Abra o terminal e digite o comando abaixo com permissão de root.

chamod +x /bin/backup_tar.sh

Após digitar o comando acima, vamos listar o diretŕio /bin e ver como ficou o arquivo backup_tar.sh.

Abra o terminal com permissão de root e digite o comando abaixo.

ls /bin

Veja na imagem acima que o arquivo backup_tar.sh está em verde, isso significa que pode ser executado.

Configurando a CRONTAB.

Em outro artigos, vamos abordar o que é e como funciona a CRONTAB no Linux.

Digite o comando abaixo para acessar a CRONTAB em modo de edição.

crontab -e

O resultado deve ser igual a imagem abaixo, lembrando que, caso seja o primeiro acesso a CRONTAB, será pedido que selecione algum editor, no meu caso, escolhi o nano.

Agora vamos adicionar uma linha para programação do backup, veja abaixo.

15 13 * * * /bin/backup_tar.sh

[wp_ad_camp_2]

Explicando o código acima.

  • 15 – Corresponde ao minuto.
  • 13 – Corresponde a hora.
  • * – Corresponde ao dia, neste caso, será executado todos os dias.
  • * – Corresponde ao mês, neste caso, será executado todos os meses.
  • * – Corresponde ao dia da semana, neste caso, será todos os dias da semana.
  • /bin/backup_tar.sh – Corresponde ao caminho do script que será executado.

Quarto passo, acessar o log e validar o backup.

Chegamos ao momento mais importante do processo de uma rotina de backup, que é a recuperação de dados e a verificação dos logs, para ter certeza que o processo como todo, é válido e seguro.

Agora vamos acessar o diretório /var/log e abrir o arquivo de log do backup, para certificarmos que a data de gravação corresponde a data de execução configurado na CRONTAB e, validar a informação que foi gravada.

Para abrir o arquivo de Log correspondente ao nosso backup, veja o comando abaixo.

Execute no terminal com permissão de root.

ls -la /var/log/log_backup/

Se você chegou ao resultado abaixo, corresponde que sua rotina de backup criou o arquivo log, respeitando a programação incluida na CRONTAB.


total 12
drwxr-xr-x  2 root root   4096 jun 14 13:15 .
drwxrwxr-x 16 root syslog 4096 jun 14 12:51 ..
-rw-r--r--  1 root root    202 jun 14 13:15 backup-14-06-2020-13-15.txt
root@ETIDT01:/home/silvio# 

Para ver o conteúdo do arquivo de log, digite o comando abaixo.

nano /var/log/log_backup/backup-14-06-2020-13-15.txt 

O resultado abaixo corresponde exatamente a quantidade de arquivos que foram incluído no arquivo, durante o processo.

[wp_ad_camp_3]

Agora vamos acessar o diretório que o arquivo foi criado, /Backup, em seguida vamos restaurar e certificar que a estrutura de diretórios e arquivos corresponde ao que foi incluído no processo de backup.

root@ETIDT01:/home/silvio# cd /Backup/
root@ETIDT01:/Backup# ls 
backup-14-06-2020-13-15.tar.gz
root@ETIDT01:/Backup# 

Veja que o arquivo com nome backup-14-06-2020-13-15.tar.gz foi criado, respeitando as configurações da variável DATA que incluímos durante o processo de criação do script.

Restaurar um backup com o comando TAR.

Restaurar o backup certifica que todo processo foi feito com sucesso e, a informação está 100% confiável.

Abra o terminal com permissão de root e digite o comando abaixo.

root@ETIDT01:/Backup# tar -zxvf backup-14-06-2020-13-15.tar.gz 
home/silvio/Documentos/Compras/
home/silvio/Documentos/Compras/Fone.pdf
home/silvio/Documentos/Compras/Kit Microfone.pdf
home/silvio/Documentos/Compras/Mesas - Portal da Nota Fiscal Eletrônica.pdf
root@ETIDT01:/Backup# ls
backup-14-06-2020-13-15.tar.gz  home

Veja que foi criado a estrutura de pasta iniciando com diretório home e dentro de home estão todas as pastas até chegar os arquivos que foram inclusos na rotina de backup.

root@ETIDT01:/Backup# ls -la home/silvio/Documentos/Compras/
total 620
drwxr-xr-x 2 silvio silvio   4096 mai  9 18:16  .
drwxr-xr-x 3 root   root     4096 jun 14 13:40  ..
-rw-r--r-- 1 silvio silvio 287410 mai  8 11:06  Fone.pdf
-rw-r--r-- 1 silvio silvio 287502 mai  9 18:15 'Kit Microfone.pdf'
-rw-r--r-- 1 silvio silvio  42733 mai  1 12:55 'Mesas - Portal da Nota Fiscal Eletrônica.pdf'
root@ETIDT01:/Backup# 

Conclusão.

Vimos neste artigo, como criar uma rotina de backup utilizando o TAR para compactar e descompactar o diretório Compras, que está dentro de /home/silvio/Documentos.

Criamos um script e adicionamos na CRONTAB para que seja executado em uma data e hora que for necessário.

Depois certificamos o log e o arquivo compactado e, em seguida utilizamos o comando TAR para descompactar o arquivo e restaurar a informação.

Compartilhe

About Author

plugins premium WordPress
Scroll to Top