fbpx

Instalação WordPress no
Ubuntu 20:04 LTS 2022

Instalação e configuração de um servidor Ubuntu para Hospedagem WordPress.

Configurando Backups Automáticos

A importância dos Backups

Ao longo do tempo vivenciei diversos projetos e vi na prática a importância que um backup tem para solucionar um problema. Já vi de perto vários projetos terem de recomeçar do zero pelo falta de backups.

Problemas técnicos acontecem, hora ou outra uma invasão ou infestação de malwares podem ocorrer, principalmente em projetos WordPress que são muito visados por atacantes e nessas horas se você não tem um backup limpo, irá chorar.

Nesse capítulo vamos configurar rotinas de backups no nosso servidor WordPress para termos cópias de segurança do nosso site.

Configurando Backup WordPress

A nossa configuração de backups será executada 1x por dia durante 7 dias, e após os 7 dias o último backup mais antigo será removido, desse modo você sempre terá salvo no seu servidor wordpress os últimos 7 dias de backups.

Se seu WordPress é muito pesado e o armazenamento do servidor ficar lotado, diminua a retenção dos backups de modo que o seu servidor consiga armazenar os backups sem travamentos.

Exemplo

Seu servidor possui 100GB de armazenamento e você possui um WordPress com 12GB de arquivos. Se você configurar o backup com retenção de 7 dias, será consumido 7 dias * 12GB de backups + 12GB do site principal, que dará um total de 96GB consumidos. Então analise bem!

No nosso servidor, vamos criar um diretório personalizado para que os backups sejam armazenados dentro dele.

mkdir -p /var/www/backups

Agora vamos criar um script shell básico para que o backup seja executado de modo que os arquivos do nosso WordPress e o banco de dados sejam salvos.

nano /var/www/backup.sh

Insira todo o conteúdo abaixo dentro do script e salve-o.

#!/bin/bash

DIA=$(date +%Y%m%d%H%M%S)
DB_BACKUP=${DIA}_database.sql
ARQUI_BACKUP=${DIA}_wp.tar.gz

DB_NAME=$(sed -n "s/define( *'DB_NAME', *'\([^']*\)'.*/\1/p" /var/www/html/wp-config.php)
DB_USER=$(sed -n "s/define( *'DB_USER', *'\([^']*\)'.*/\1/p" /var/www/html/wp-config.php)
DB_PASSWORD=$(sed -n "s/define( *'DB_PASSWORD', *'\([^']*\)'.*/\1/p" /var/www/html/wp-config.php)
DB_HOST=$(sed -n "s/define( *'DB_HOST', *'\([^']*\)'.*/\1/p" /var/www/html/wp-config.php)

# Backup do banco de dados
mysqldump --add-drop-table -u$DB_USERNAME -p$DB_PASSWORD -h$DB_HOST $DB_NAME > /var/www/backups/$DB_BACKUP 2>&1

# Comprimindo backup da DB
gzip /var/www/backups/$DB_BACKUP

# Backup do diretorio do WordPress
tar -zcf /var/www/backups/$ARQUI_BACKUP /var/www/html

Para que você não fique “boiando” sobre como esse script trabalha, ele tem as seguintes particularidades:

  • É executado como um script bash
  • Configura uma variável DIA com a data atual para os backups
  • Recupera automaticamente as credenciais do banco de dados, para que automação consiga se conectar no banco
  • Utiliza o gzip para comprimir o backup da database e com isso ocupar menos espaço

Agora dê permissão de execução

chmod u+x /var/www/backup.sh

Agora vamos colocar esse script no crontab para que ele seja executado todos os dias de madrugada, para que ele seja executado exatamente no horário que queremos temos que ajustar o horário do nosso servidor.

No entanto, configuramos o horário do servidor no primeiro capítulo desde guia. Mas verifique se a hora está correta:

date

Se tudo estiver correto, abra o crontab com o comando abaixo

crontab -e

Agora adicione o conteúdo abaixo

0 5 * * * cd /var/www/; /var/www/backup.sh  >/dev/null 2>&1

Esse cronjob irá acessar o diretório onde o script está armazenado e será executado as 05h da manhã todos os dias da semana.

Sempre que desejar verificar os backups salvos, basta executar o comando abaixo

ls -l /var/www/backups
image 25

Configurando Limpeza Automática

Até aqui já configuramos nosso script e colocamos ele na crontab para que seja executado todos os dias. Mas ainda não configuramos uma maneira de limpar os backups antigos, caso contrário em pouco tempo nosso servidor irá travar por falta de espaço.

Para isso vamos adicionar uma linha no nosso script bash, logo no final do arquivo

nano /var/www/backups.sh

Em seguida insira o conteúdo na última linha, feche e salve o arquivo

rm -f /var/www/backups/$(date +%Y%m%d* --date='1 week ago')

Agora nosso script sempre deixará salvo os últimos 7 dias de backups salvos no nosso servidor WordPress.

Conclusão

Backup de hospedagem WordPress é fundamental para a segurança e retenção dos dados, em um desastre você terá uma cópia dos arquivos e poderá utilizar sempre que precisar.

De uma nota para esse artigo.
[Total: 1 Total: 5]

Gostou deste capítulo ?

Facebook
Twitter
LinkedIn
Telegram
WhatsApp

Receba conteúdos gratuitos incríveis!

Capítulos

01

Configurações Iniciais

Nessa primeira etapa realizamos todo o pré-instalação e configuração do nosso servidor WordPress.

02

Instalação LEMP e SSL

Instalação do Nginx, PHP 7.4 com FPM, MariaDB e também a instalação do Let’s Encrypt SSL.

03

Instalação WordPress

Nesse capítulo vamos instalar um site WordPress no nosso servidor, uma vez que já temos o mínimo.

04

Otimizações Nginx e PHP

Ajustes e tunagens no Nginx e PHP para projetos em WordPress com máxima performance.

05

Configurações de Cache

Configuração de cache de objetos com o Redis e Cache de página com cache Nginx.

06

Configurando CRON e SMTP Relay

Nesse capítulo configuramos tarefas cron e SMTP Relay para que o  wordpress envie notificações.

07

Configurando Backups

Nesse capítulo vamos configurar os backups automáticos do nosso WordPress.

08

Segurança com Nginx

Nesse capítulo vamos configurar uma série de diretivas no Nginx para evitar vários tipos de ataques web.

09

Monitoramento

Nesse capítulo vamos configurar algumas ferramentas com foco em monitoramento do servidor.

10

Considerações Finais

Nesse capítulo vamos falar algumas considerações finais e algumas dicas de boas práticas.

Mais conteúdos incríveis