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.