- 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
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.
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.
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.