Backup Drupal em Linux: Guia Completo de Criação e Restauração

Gerenciar conteúdo usando o Drupal é uma excelente forma de otimizar seu site, especialmente por conta da vasta gama de ferramentas, plugins e recursos que ele oferece. Apesar de todas as suas qualidades, o sistema de backup não está entre os pontos fortes do Drupal. Essa lacuna em um CMS tão poderoso é uma desvantagem considerável. Dado que não há uma solução de backup nativa para um site Drupal em Linux, é necessário realizar esse processo manualmente.

Criação da Pasta de Backup

Para fazer um backup de um site Drupal em ambiente Linux, o primeiro passo é criar um diretório onde os arquivos exportados serão armazenados. No terminal, utilize o comando mkdir para estabelecer essa pasta.

Inicialmente, acesse o sistema como usuário root com o comando su.

su -

Se você não tiver a senha de root, use sudo -s para obter privilégios administrativos.

sudo -s

Em seguida, crie a pasta de backup diretamente no diretório raiz (/).

mkdir -p drupal-backups

Exportação dos Arquivos SQL

O próximo passo é exportar todos os arquivos do banco de dados SQL. Essa tarefa deve ser executada com a conta root, não tente fazê-lo com um usuário comum.

Dentro da pasta drupal-backups, crie duas subpastas: uma chamada sql e outra denominada installation-files, além de apache2-conf.

mkdir -p /drupal-backups/sql
mkdir -p /drupal-backups/installation-files
mkdir -p /drupal-backups/apache2-conf

Utilize o comando mysqldump para exportar os arquivos do banco de dados Drupal do servidor SQL para a pasta de backup.

Observação: Antes de executar o comando abaixo, substitua "username" e "databasename" pelo seu nome de usuário SQL e o nome do banco de dados SQL utilizado pelo Drupal. Na maioria das instalações, o nome padrão do banco de dados é "drupal".

cd drupal-backups/sql
mysqldump -u username -p databasename > db.drupal_backup-1.sql

Backup dos Arquivos de Instalação

Com o backup do banco de dados principal concluído, o próximo passo é assegurar os arquivos da instalação do Drupal. Para isso, faça uma cópia completa de tudo que está em /var/www/html/. Se você seguiu nosso guia de instalação do Drupal, o núcleo do seu site estará diretamente dentro de /var/www/html, sem subdiretórios. Utilize o comando cp para copiar toda a pasta html para /drupal-backups/installation-files.

Nota: Caso sua instalação esteja em /var/www/html/drupal ou similar, ajuste o comando cp de acordo.

cp -rp /var/www/html/*  /drupal-backups/installation-files/

Fazer backup da instalação do Drupal é fundamental, pois esses arquivos contêm configurações importantes do site, temas, entre outros. Contudo, esses não são os únicos arquivos cruciais para o backup. As configurações do Apache2 também são essenciais, pois indicam ao servidor web onde a instalação do Drupal está localizada e como carregá-la. Sem este arquivo, o backup não seria totalmente funcional.

Para criar um backup do arquivo de configuração do Apache2, execute o seguinte comando:

cp /etc/apache2/sites-available/drupal.conf /drupal-backups/apache2-conf/

Compactação dos Arquivos de Backup

Com todos os arquivos necessários do servidor Drupal copiados e prontos para o backup, é hora de criar um arquivo Tar, que facilitará a movimentação dos arquivos de backup. Para criar esse arquivo, execute o seguinte comando:

tar -zcvpf drupal-website-backup.tar.gz /drupal-backups

Compactar os backups é uma boa prática, mas não garante a segurança dos dados. Se você pretende salvar seu site Drupal em um serviço de armazenamento em nuvem pública, carregar o arquivo Tar não criptografado significa que qualquer pessoa pode acessar e manipular os dados, tanto do banco de dados SQL quanto dos arquivos do site.

Portanto, é altamente recomendável criptografar este arquivo antes de qualquer outra ação. Para isso, verifique se o GnuPG está instalado no seu sistema. Caso não esteja, procure por "gpg" no gerenciador de pacotes da sua distribuição Linux e instale-o. Após a instalação, execute o comando abaixo para criptografar totalmente seu arquivo de backup do Drupal:

gpg -c drupal-website-backup.tar.gz

O comando gpg -c irá instruir o GnuPG a criptografar o arquivo Tar, solicitando uma senha para proteger o novo arquivo GPG. Escolha uma senha robusta e aguarde a conclusão do processo de criptografia. Ao finalizar, você poderá copiar drupal-website-backup.tar.gz.gpg e armazená-lo em seu local de backup.

Restauração do Backup

Baixe o arquivo de backup do Drupal GPG para o servidor onde você deseja restaurá-lo. Em seguida, execute os seguintes passos:

su -

ou

sudo -s

Crie uma pasta para armazenar o backup restaurado.

mkdir -p /drupal-restore/

Mova o arquivo GPG para a nova pasta de restauração.

mv /pasta/onde/o/backup/esta/drupal-website-backup.tar.gz.gpg /drupal-restore/

Descriptografe o backup, utilizando o GPG.

gpg drupal-website-backup.tar.gz.gpg

Extraia o backup.

tar -xvpf drupal-website-backup.tar.gz

Entre na pasta de backup extraída.

cd drupal-restore/drupal-backups

Agora é hora de iniciar a restauração. Comece importando os arquivos SQL para o MySQL.

cd sql
mysqldump -u username -p drupal < db.drupal_backup-1.sql

Com o banco de dados instalado, restaure os arquivos restantes.

cp /drupal-restore/drupal-backups/apache2-conf/drupal.conf /etc/apache2/sites-available/
sudo ln -s /etc/apache2/sites-available/drupal.conf /etc/apache2/sites-enabled/drupal.conf
cp -rp /drupal-restore/drupal-backups/installation-files/* /var/www/html/

Mover os arquivos para seus respectivos lugares é a etapa final no processo de restauração.

Após concluir todos os passos, reinicie o servidor Linux. Embora possa parecer incômodo, é uma prática recomendada. Reiniciar o servidor garantirá que todos os serviços necessários para o correto funcionamento do Drupal sejam inicializados novamente. Ao retornar, tudo deverá estar funcionando como antes.