Saltar para o conteúdo
Edson Francisco
  • Fiabilidade, DevOps e legado

SiteHealth

Scripts Bash que verificam a integridade de sites WordPress num servidor cPanel e repõem o último backup.

Período
2022
Estado
Protótipo
Papel
Autor (ferramenta interna)

Problema

Vários sites WordPress de clientes no mesmo servidor partilhado podiam ser comprometidos por malware. Detectar e repor cada um à mão era lento.

Solução

Um colega escreveu o primeiro rascunho para um só site; o Edson transformou-o num conjunto de scripts para vários sites. Um script verifica os checksums oficiais do WordPress; outro, pensado para correr por cron, regista cada falha, escolhe o backup cPanel certo e troca a pasta pública. É um protótipo: o último commit diz que faltava testar no servidor.

Decisões técnicas

  1. 01

    Checksums oficiais em vez de antivírus

    O WP-CLI compara os ficheiros do core com os checksums publicados pelo WordPress. É rápido, não precisa de assinaturas de malware e dá uma resposta clara: saudável ou não.

  2. 02

    Backup escolhido pelo dia da semana

    O script segue a rotação do cPanel (diário, semanal) para ir buscar o backup mais recente que ainda existe.

  3. 03

    Guardar a versão comprometida

    Antes de repor, a pasta pública infectada é movida para o lado em vez de apagada, para se poder analisar o que aconteceu.

Imagens

Sem capturas publicáveis: o sistema precisa de dados reais para correr ou já não está online.

Tecnologias

  • Bash
  • WordPress

Resultados verificáveis

instalações WordPress na lista monitorizada
9

O que aprendi

Automatizar uma reposição é fácil de escrever e difícil de provar. Hoje começaria por testar num servidor de ensaio e por enviar um alerta antes de trocar qualquer pasta.