utilitário de restauro backup2l

Procédure

backup2l

O backup2l é uma ferramenta de linha de comandos para criar e restaurar cópias de segurança num sistema de cópia de segurança remoto. Numa instalação padrão, os backups são criados autonomamente por um script cron.

O backup2l suporta backups diferenciais hierárquicos com um número de níveis especificado pelo utilizador e backups por nível. Com este esquema, o número total de arquivos a serem armazenados apenas aumenta logaritmicamente com o número de backups diferenciais desde o último backup completo. Como resultado, pequenos backups incrementais podem ser gerados em intervalos curtos, enquanto há pouca necessidade de backups completos que consomem tempo e espaço.

A função de restauro facilita o restauro do estado do sistema de ficheiros ou de directórios/ficheiros arbitrários de pontos anteriores no tempo. Os atributos de propriedade e autorização de ficheiros e directórios são corretamente restaurados.

Uma arquitetura de driver aberta significa que praticamente qualquer programa de arquivo pode ser utilizado como backend. Os controladores incorporados suportam ficheiros .tar.gz, .tar.bz2 ou .afioz. Podem ser adicionados outros drivers definidos pelo utilizador, tal como descrito no ficheiro de configuração fornecido "first-time.conf".

Todos os ficheiros de controlo são armazenados com os arquivos no sistema de backup remoto, e o seu conteúdo é normalmente auto-explicativo. Por isso, numa emergência, um utilizador não deve confiar apenas na funcionalidade de restauro do backup2l, mas pode - se necessário - procurar os ficheiros e extrair os arquivos manualmente.

Para decidir se um ficheiro é novo ou modificado, o backup2l examina o seu nome, tempo de modificação, tamanho, propriedade e permissões.

Também é possível efetuar "Hot Copies", por exemplo, de bases de dados MySQL.

Instalar o backup2l

Incluído como um pacote na maioria das distribuições.

Para instalar o backup2l na sua máquina local, é necessário um simples comando.

apt-get install backup2l

Configurar o backup2l

Crie estas duas pastas de backup:

$ mkdir -p /var/backup.d/final $ mkdir -p /var/backup.d/preliminary/mysql

A pasta "final" contém os arquivos dos backups efectuados e a pasta "premilinary" contém as "hot copies" dos backups efectuados.

Edite o ficheiro de configuração backup2, por exemplo, utilizando o editor de texto nano:

$ nano /etc/backup2l.conf

Na linha:

SRCLIST=(/var/www/mondomaine.fr /var/backup.d/preliminary)

Escolha as pastas das quais pretende fazer cópias de segurança. Neste exemplo, as pastas das quais é feita a cópia de segurança serão: /var/www/mondomaine.fr e /var/backup.d/preliminary que contém as cópias de segurança "hot copies".

SKIPCOND=(-path "/var/www/mondomaine.fr/log/*")

Como o espaço no destino do backup é maioritariamente limitado, deve excluir directórios e ficheiros maiores dos quais não é realmente necessário fazer o backup, tais como os ficheiros de registo associados ao seu sítio web.

BACKUP_DIR="/var/backup.d/final"

A cópia de segurança é configurada neste diretório. Os ficheiros aqui são então transferidos para o servidor de backup. Se necessário, os ficheiros também podem ser encriptados.

MAX_LEVEL=1 MAX_PER_LEVEL=9 MAX_FULL=1 GENERATIONS=1 CREATE_CHECK_FILE=1

Esta configuração fornece um backup completo e 9 backups incrementais. Se for necessário efetuar um novo backup incremental todas as semanas, max_per_level deve ser definido para 6. Uma cópia de segurança completa e as incrementais são sempre necessárias para um restauro.

PRE_BACKUP () { echo "start pre backup scripts" sh /root/backup/hotcopy_mysql.sh chmod -R u=rw,go-rwx /var/backup.d/preliminary/* echo "pre backup scripts completed" }

POST_BACKUP () { echo "A executar acções de pós-backup." chown -R root:backup /var/backup.d/final chmod -R u=rw,g=r /var/backup.d/final/* sh /root/backup/scp.sh echo "O backup foi concluído." echo "----------------------------------------------" }

Estas funções são implementadas antes e/ou depois dos backups.

Nesta secção, a função "PRE_BACKUP()" é executada antes do backup e a função "POST_BACKUP()" é executada após o backup. O script bash de carregamento do backup /root/backup/scp.sh é anexado à função "POST_BACKUP()".

O seu ficheiro backup2l.conf está agora configurado, para que o backup2l possa ter em conta a sua configuração, edite esta diretiva da seguinte forma:

UNCONFIGURED=0

Fazer "hot copies

Alguns ficheiros não podem ser simplesmente copiados por cópia, porque estão constantemente acessíveis. Por exemplo, bases de dados MySQL.

  • MySQL
nano /root/backup/hotcopy_mysql.sh

Aqui, o programa "mysqldump" é usado para fazer backups de dados das nossas bases de dados MySQL.

#!/bin/sh # Remover dumps antigos e criar diretório rm /var/backup.d/preliminary/mysql/alldb.sql.gz mysqldump --user=root --password=XXXXX --all-databases --skip-lock-tables | gzip > /var/backup.d/preliminary/mysql/alldb.sql.gz

Configurar o cron job

Para fazer isto, configure o ficheiro /etc/cron.daily/zz-backup2l com o seguinte conteúdo (este ficheiro pode já ter sido configurado quando o backup2l foi instalado)

#!/bin/bash # O seguinte comando invoca o 'backup2l' com o ficheiro de configuração # predefinido (/etc/backup2l.conf). # # (Re)mova-o ou este script inteiro se não quiser backups automáticos. # # Redireccione a sua saída se não quiser e-mails automáticos após cada backup. ! which backup2l > /dev/null || nice -n 19 backup2l -b

Transferência de ficheiros

Existem geralmente duas formas de recuperar ficheiros do servidor de backup. A primeira e mais plausível opção é copiar do servidor no qual o backup foi feito para o servidor de destino (servidor de backup): Push Data. Isso pode ser feito usando scp, por exemplo. A segunda opção são os dados do servidor de backup, novamente usando scp: Pull Data. Na minha opinião, a última opção é preferível porque um hacker não pode simplesmente aceder às cópias de segurança.

Para ambas as opções, recomendo a utilização do scp, uma vez que o servidor de backup tem provavelmente um login SSH e o desempenho não deve ser um fator com uma única cópia à noite. Além disso, a transmissão é encriptada. Pode também utilizar o rsync.

Os ficheiros podem também ser encriptados com gpg e transmitidos apenas encriptados. Os dados no servidor de backup são então protegidos contra terceiros não autorizados. A chave de desencriptação não deve ser deixada num servidor, mas sim copiada localmente para um meio de armazenamento amovível, como uma pen USB.

Crie uma chave SSH e anexe-a ao servidor de backup. Convido-o a seguir esta documentação para adicionar uma chave SSH ao servidor de backup.

$ ssh-keygen -b 4096 -t rsa

De seguida, crie um script bash de backup em /root/backup

nano /root/backup/scp.sh

Para organizar os comandos, o utilitário "rsyncscpdrive" com o nome cdXXXX será utilizado como exemplo.

#!/bin/bash SOURCE_DIRECTORY=/var/backup.d/final USER=cdXXXX TARGET_DIRECTORY=/files SERVER=rs1.cloudlws.com scp ${SOURCE_DIRECTORY}/* ${USER}@${SERVER}:${TARGET_DIRECTORY}

Resumo dos pacotes LWS Cloud Drive disponíveis e dos seus preços sem IVA:

Preços mensais dos pacotes Cloud Drive :
Cloud Drive S
Cloud Drive M
Cloud Drive L
Nuvem Drive XL
100 GB 250 GB 500 GB 1TB
4.99€* 9.99€* 14.99€* 19.99€*

*Preço excl.

Ao seguir esta documentação, poderá utilizar o utilitário backup2l para restaurar os seus dados.
Pode consultar as nossas várias ofertas de backup online no nosso site de vendas.