Aprenda como configurar uma rotina automatizada de backup do seu site WordPress e restaurá-la! Tempo estimado de solução: 10min
Se você é proprietário de um site WordPress, provavelmente já sabe que é essencial fazer backups regulares para garantir a segurança dos seus dados e evitar perda de informações importantes. Neste artigo você vai aprender como configurar uma rotina de backup no WordPress usando Shell Script e também como restaurar esse backup quando necessário. Vamos lá?
Por que fazer um backup de WordPress?
O WordPress é uma das plataformas de criação de sites mais populares do mundo, usada por milhões de pessoas para criar blogs, sites de comércio eletrônico e muito mais. Embora seja uma plataforma poderosa e flexível, é importante lembrar que os sites do WordPress estão sempre em risco de falhas, erros humanos e hackers. É por isso que fazer um backup regular do seu site é crucial para manter seus dados seguros e protegidos.
Aqui estão três razões pelas quais você deve fazer backup do seu site WordPress regularmente:
- Proteção contra perda de dados: Como mencionado anteriormente, fazer backup do seu site WordPress é fundamental para proteger seus dados contra perda. Se ocorrer uma falha no servidor ou um erro humano fizer com que você perca dados importantes, um backup recente garantirá que você possa restaurar seu site rapidamente.
- Recuperação após um hack: Infelizmente, os sites WordPress são frequentemente alvos de hackers, que buscam explorar vulnerabilidades de segurança para obter acesso ao site. Se o seu site for invadido, um backup recente pode ser a única maneira de recuperar o seu site sem perder todos os seus dados.
- Facilidade de migração: Se você decidir mudar seu site WordPress para um novo host ou servidor, um backup recente facilitará muito a migração. Em vez de ter que reconstruir todo o seu site do zero, você pode simplesmente restaurar um backup recente e estar pronto para funcionar em pouco tempo.
Como fazer uma rotina de backup do WordPress
Para realizar nosso backup de WordPress vamos usar Shell Script, uma linguagem de programação que usa comandos de Linux para executar tarefas automatizadas, como a manipulação de arquivos e diretórios, a execução de programas, a configuração do sistema, entre outras coisas.
Não precisa se preocupar se você não souber nada de Shell Script, pois nesse artigo vamos fazer um passo-a-passo detalhado de como criar essa automatização.
- Realize o acesso ao cPanel da sua hospedagem.
- Em seguida acesse o Gerenciador de arquivos.
- Clique em + Arquivo e crie um arquivo com nome script-backup.sh. Depois clique em Create New File.
- Clique com o botão direito no arquivo script-backup.sh e depois em Edit.
- Adicione as seguintes linhas de código no arquivo:
#!/bin/bash
# Defina as variáveis
SITE_DIR='/caminho/para/site/wordpress'
BACKUP_DIR='/caminho/para/diretorio/de/backup'
DB_USER='usuario_do_banco_de_dados'
DB_PASSWORD='senha_do_banco_de_dados'
DB_NAME='nome_do_banco_de_dados'
DATE=$(date +%Y-%m-%d)
Aqui você precisará substituir alguns valores:
- SITE_DIR= substitua /caminho/para/site/wordpress pelo diretório onde está instalado o seu WordPress.
BACKUP_DIR=
substitua/caminho/para/diretorio/de/backup
pelo diretório onde você deseja armazenar os seus backups (de preferência no diretório raiz da hospedagem).DB_USER,
eDB_PASSWORD
DB_NAME=
você pode encontrar essas informações no arquivo wp-config.php no diretório de instalação do seu WordPress. Confira mais detalhes no artigo: como descobrir o nome do banco de dados da instalação WordPress.
Atenção! Os caminhos para o diretório e WordPress precisam ser a estrutura completa. Ex: /home2/usuario/public_html
Atenção! Para que o script funcione corretamente, é importante que no diretório de instalação que está o WordPress, exista apenas essa instalação e mais nenhuma outra. Se houver, confira o artigo como mudar os arquivos do WordPress de diretório.
- Em seguida, adicione essas outras linhas de código no arquivo:
# Crie um diretório para o backup atual
mkdir -p "$BACKUP_DIR/$DATE"
# Copie os arquivos do site para o diretório de backup
cp -R "$SITE_DIR" "$BACKUP_DIR/$DATE"
# Faça o backup do banco de dados
mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" > "$BACKUP_DIR/$DATE/$DB_NAME.sql"
# Compacte o diretório de backupcd $BACKUP_DIR
tar -zcf "$BACKUP_DIR/$DATE.tar.gz" -C "$BACKUP_DIR/$DATE" .cd ~
# Remova o diretório de backup atual
rm -rf "$BACKUP_DIR/$DATE"
# Defina a data limite para backups antigos (1 mês atrás)
LIMIT=$(date -d "1 month ago" +%Y-%m-%d)
# Verifique se há backups mais antigos que a data limite e remova-os
find "$BACKUP_DIR" -type d -name "*-*-*" -prune -print | while read BACKUP; do
if [[ $(basename "$BACKUP") < "$LIMIT" ]]; then
echo "Removendo backup antigo: $BACKUP"
rm -rf "$BACKUP"
fi
done
Depois que terminar de inserir as linhas e substituir as variáveis iniciais, clique em Salvar alterações.
- Copie o caminho para esse arquivo no topo da página, usaremos esse dado a seguir.
- Para garantir que tudo está funcionando, vamos executar o Script antes de criar uma rotina automatizada para ele. Volte a página inicial do cPanel e acesse o menu Terminal.
- Execute o seguinte comando no terminal:
bash script-backup.sh
Se aparecem mensagens como as abaixo significa que deu tudo certo e você pode conferir no gerenciador de arquivos se seu backup foi criado corretamente.
Atenção! Se der algum erro, for solicitado senha, ou qualquer mensagem diferente da imagem abaixo, confira se você copiou todas as linhas de código e se definiu as variáveis corretamente.
- Volte a página inicial do cPanel e acesse o menu Tarefas Cron.
- Aqui você pode definir o intervalo de tempo que seu script de backup irá rodar. Para saber mais como configurar uma tarefa cron e poder personalizar a sua, confira o guia abaixo:
Nesse exemplo iremos configurar para que o script seja executado toda segunda-feira às 2 da manhã. Preencha os campos da seguinte maneira:
- Minuto: *
- Hora: 2
- Dia: *
- Mês: *
- Dia da semana: 1
- Comando: Insira o caminho do script de backup que você copiou no passo 7.
Por fim clique em Adicionar nova tarefa cron.
- Pronto! Sua rotina de backup está completa e agora seu WordPress e banco de dados vão ser salvos automaticamente.
Observação: O script tem um verificador para consultar se já existem backups com mais de um mês de existência e se houver, eles serão excluídos automaticamente, evitando acúmulo de arquivos.
Observação 2: Se você quiser configurar mais rotinas de backups para seus outros sites, basta definir a variável BACKUP_DIR
para ficar em outro diretório no seu outro script, dessa forma cada script vai armazenar o backup de cada site em um diretório diferente.
Como restaurar o backup do WordPress
Atenção! Esse procedimento deve ser feito com cuidado, pois pode comprometer a estrutura do seu site WordPress. Preste muita atenção no passo a passo afim de evitar problemas.
Para restaurar o backup do WordPress, teremos que fazer isso em duas etapas, a restauração dos arquivos do WordPress e a restauração do banco de dados. Vamos começar pela restauração dos arquivos do WordPress:
- Realize o acesso ao cPanel da sua hospedagem.
- Acesse o Gerenciador de arquivos do cPanel.
- Acesse o diretório onde você armazenou os seus backups, seu backup tera a estrutura
ANO-MÊS-DIA.tar.gz
.
- Clique com o botão direito no arquivo de backup e depois em Extract. Em seguida clique em Extract files.
- Após extrair o arquivo de backup, irá aparecer o diretório onde estão os arquivos do WordPress e um arquivo com extensão .sql referente ao banco de dados. Acesse o diretório com os arquivos do WordPress.
- No diretório com os arquivo de backup do WordPress, clique em Selecionar tudo e depois em Mover. No campo de texto, insira o caminho de instalação do seu WordPress (a partir da
home
do cPanel). Por fim, clique em Move Files.
- Pronto, a estrutura de arquivos do WordPress já foi restaurada. Agora vamos para a restauração do banco de dados. Volte para o diretório onde está seu backup e clique com o botão direito no arquivo do banco de dados (com final .sql) e depois em Download.
- Após realizar o Download do banco de dados, retorne para a página inicial do cPanel e acesse o menu PHPMyAdmin.
- Clique no banco de dados do seu site WordPress.
- Em seguida, clique em Marcar todos e Eliminar.
Atenção! Essa ação apagará o banco de dados atual do WordPress e não será possível recuperá-lo, apenas com o backup que iremos importar em seguida.
- Agora clique em Sim, confirmando a ação.
- Em seguida acesse a aba Importar.
- Por fim, clique em Escolher Arquivo e importe o arquivo de banco de dados que você fez download no passo 7. Em seguida clique em Executar.
- Pronto! Após finalizar a importação, seu backup do WordPress terá sido devidamente restaurado.
Considerações Finais
Neste artigo você aprendeu como criar uma rotina de backup de um site WordPress e como restaurar esse backup.
Se você sentiu alguma dificuldade ou então tem alguma sugestão de algo que não foi mencionado, basta deixar aí nos comentários que no futuro podemos trazer atualizações para este artigo. Também indico esses outros materiais relacionados com este assunto:
Até a próxima! :^)