Um dos temas que mais nos deve interessar e por isso implementar nas nossas organizações é o uso de backups uma vez que nos permitem ter informações valiosas sobre a empresa seguras e disponíveis.
Os backups fornecem-nos três pilares vitais para o bom funcionamento da nossa infraestrutura que são a disponibilidade, a veracidade e a confidencialidade.
Vamos dar um exemplo simples sobre a importância de ter um backup, suponha que a pessoa que controla os pagamentos da folha de pagamento tenha uma pasta onde guarda todos os arquivos de pagamento mensal, isso é importante para finanças, jurídico, etc. Por algum motivo no mês de março não foi realizado o backup e justamente no início de abril a máquina dessa pessoa faleceu, o que acontece neste caso? Como não temos backup das informações armazenadas do mês de março, o mais seguro coisa é que esses arquivos foram perdidos o que vai implicar em trabalho excessivo tanto para o pessoal da folha de pagamento quanto para nós, agora, se tivéssemos o backup desses arquivos a partir de março simplesmente tínhamos que abrir o backup e restaurar esses arquivos, não leve 15 minutos e tudo estará atualizado e seguro.
Como vemos o bom hábito de criar backups (obviamente das informações mais valiosas) É uma garantia de que sempre teremos os dados mais relevantes seguros e sempre disponível para quem precisa.
Existem várias ferramentas para criar backups em nossos ambientes Linux, mas desta vez vamos nos concentrar no Ferramenta Rsnapshot que é um utilitário Baseado em Rsync e que podemos consultar da web:
Rsnapshot oferece suporte a vários sistemas operacionais, como:
- Arch Linux
- Debian
- Fedora
- Gentoo Linux
- Ubuntu
- FreeBSD
- NetBSD
- OpenBSD
Com Rsnapshot, podemos criar cópias de backup máquinas locais e remotas através de SSH e podemos salvar nossos backups em outros discos rígidos, pen drives, drives NFS ou para destinos de rede usando SSH.
Para este estudo, vamos ver a implementação do Rsnapshot em um ambiente de Ubuntu 16.04 LTS e vamos ver isso como criar backups incrementais por hora, dia, semana ou mês. Se tivermos um ambiente RHEL ou CentOS, devemos primeiro configurar o repositório EPEL, uma vez feito isso, prosseguiremos para instalar Rsnapshot usando o comando:
yum install rsnapshotPara ambientes Ubuntu ou Debian, usaremos o comando:
apt-get install rsnapshot
Vamos esperar que os pacotes sejam baixados e instalados. Se quisermos criar backups para servidores remotos Devemos configurar o SSH sem senha, para isso devemos criar um SSH público e uma chave privada para o respectivo acesso. Vamos gerar essas chaves usando o seguinte comando:
sudo ssh-keygen -t rsa
Devemos pressionar Enter na opção Digite a senha para que a chave seja criada sem uma senha. Em seguida, vamos transferir essa chave para a máquina para que ela reconheça nossos dados. Usaremos o seguinte comando:
sudo ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]Onde example.com é o IP ou domínio de nossa máquina, podemos obter o IP usando o comando ifconfig, no nosso caso é 192.168.0.13, então o comando inserido é:
sudo ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]Em seguida, vamos configurar nosso Rsnapshot no sistema Ubuntu, para isso vamos inserir o arquivo de configuração Rsnapshot usando o comando:
vi /etc/rsnapshot.confVeremos o seguinte:
Agora vamos criar um diretório onde serão armazenadas as cópias de segurança que criamos, para isso no arquivo aberto vamos editar os seguintes parâmetros.
Ir criar diretório chamado backup:
snapshot_root / backup /Mais tarde iremos localizar a linha # cmd_ssh / usr / bin / ssh e vamos deletar o símbolo # para permitir a conexão remota via SSH.
Podemos ver o intervalos de backup de acordo com uma ordem estabelecida, podemos pesquisar a linha
Níveis / intervalos de backupe veremos o seguinte:
Neste caso, os valores são:
- Alfa: Tempo
- Beta: Diário
- Gama: Semanalmente
- Delta: Por mês
Neste caso, por ordem crescente, a nossa prioridade será a cópia mensal (valor 3), se quisermos outro valor, basta modificá-lo. Vamos editar a linha ssh_args -p 22 em que se especifica a porta através da qual será feita a conexão remota, para isso devemos saber qual será a porta e simplesmente editá-la.
Se quisermos criar cópias de backup na mesma máquina de origem, devemos validar as seguintes linhas de casa e etc.
backup / home / localhost /
backup / etc / localhost /Assim que esses parâmetros forem configurados, salvaremos as alterações usando Ctrl + OU e deixamos o editor usando Ctrl + X.
Alguns dos principais valores são:
- config_version 1.2 = É a versão do arquivo de configuração
- snapshot_root = Envolve backup para armazenar instantâneos
- cmd_cp = É o caminho para copiar um comando
- cmd_rm = É o caminho para remover um comando
- cmd_rsync = É o caminho para rsync
- cmd_ssh = É o caminho para SSH
- cmd_logger = É o caminho para a interface de comando do shell para o syslog
- cmd_du = É o caminho para o comando de uso do disco
- intervalo de hora em hora = Permite que você defina os valores de cópias por hora
- intervalo diário = Permite que você defina os valores das cópias por dia
- intervalo semanal = Permite que você defina os valores da cópia semanal
- intervalo mensal = Permite que você defina os valores de cópia mensal
- ssh_args = Estes são os argumentos SSH opcionais
- prolixo = Autoexplicativo
- nível de log = Autoexplicativo
- arquivo de log = Implica o caminho para o arquivo de log
- exclude_file = Com esta opção, podemos excluir arquivos do backup
Vamos tentar o configuração do nosso Rsnapshot para isso usaremos o comando:
sudo rsnapshot configtestSe a configuração estiver correta, devemos ver a mensagem:
Sintaxe OKVamos fazer um teste de funcionamento do Rsnapshot, para isso vamos criar uma cópia por hora, lembre-se que podemos configurar por semana ou por mês. Vamos usar o seguinte comando:
sudo rsnapshot -t Alpha ou HourlyCaso assim apareça no ambiente.
Veremos que as cópias foram criadas. Podemos gerar manualmente as cópias usando o comando:
rsnapshot diárioDevemos substituir diariamente pelo valor necessário.
Para agendar backups automaticamente, entraremos na seguinte rota:
sudo nano /etc/cron.d/rsnapshotPodemos ver os seguintes valores:
Com esses parâmetros, as seguintes tarefas serão realizadas:
- A cópia é executada a cada 4 horas e cria um diretório por hora no diretório que criamos.
- Funciona todos os dias às 3h30 e cria um diretório todos os dias no diretório Crie cópias semanais todas as segundas-feiras às 3h00 e crie um diretório semanal no diretório que criamos.
- Ele funciona todos os meses às 2h30 e criamos um diretório mensal no diretório que criamos.
Como vemos com Rsnapshot temos em mãos uma ferramenta poderosa e interessante para criar nossos backups de acordo com a necessidade que temos.