CONCLUÍDO
Resumo técnico
Ferramenta Bash voltada para triagem de disponibilidade em ambiente de hosting compartilhado. O script varre domínios por escopo (todos, por usuário, por revendedor ou domínio único), valida resolução DNS para o servidor esperado, executa checagem HTTP com timeout configurável e classifica problemas por assinatura de conteúdo (default pages, account suspended, database errors, possíveis indícios de comprometimento).
Escopo executado
- Reescrita de utilitário legado em Bash mantendo paridade funcional de opções.
- Compatibilidade operacional com cPanel/WHM e Plesk.
- Modos de execução por escopo (
-a,-u,-r,-d) para triagem direcionada. - Suporte a saída verbosa (
-v) para auditoria completa incluindo domínios saudáveis. - Controle de timeout e backoff por carga do host para evitar agravar servidores sob estresse.
- Normalização de leitura de status HTTP e classificação de incidentes por tipo.
Modos de operação
# todos os domínios (somente problemas)
./checksites.sh -a
# varredura completa com sites OK
./checksites.sh -a -v
# domínio específico
./checksites.sh -d example.com
# todos os domínios de um usuário cPanel
./checksites.sh -u username
# todos os domínios de um revendedor
./checksites.sh -r resellername
# timeout customizado
./checksites.sh -a -t 15
Detecções implementadas
- DNS: domínio inexistente, resolução externa ao servidor, inconsistência de apontamento.
- HTTP: códigos de erro (
403,404,500,502,503), conexões falhas e redirects inesperados. - Assinaturas de conteúdo:
- defaultwebpage.cgi (cPanel default) - Domain Default Page (Plesk default) - Database Error - Account Suspended - Index of / - padrões textuais de comprometimento (hacked, shell, exploit, WebShell)
Proteção por carga do servidor
O script mede load average e pausa execução quando o host está acima do limiar operacional, reduzindo impacto durante incidentes:
Load Average: 15.5, cores: 8
Load Average: 15.5, sleeping for 10 seconds
Se a carga seguir alta após tentativas, o fluxo pede confirmação antes de continuar.
Uso em monitoramento contínuo
# cron horário com alerta por e-mail em caso de falhas
0 * * * * /usr/local/bin/checksites -a > /tmp/sites_check.txt 2>&1 || \
cat /tmp/sites_check.txt | mail -s "Site Issues on $(hostname)" admin@example.com
Troubleshooting operacional
# dependências DNS
yum install -y bind-utils
apt-get install -y dnsutils
# cliente mysql para ambientes plesk
yum install -y mysql
apt-get install -y mysql-client
# execução com privilégios adequados
sudo ./checksites.sh -a
Stack e ferramentas
- Shell Script / Bash
- cURL
- dig / DNS utils
- mysql client (Plesk)
- cPanel/WHM
- Plesk
Tags operacionais
- Bash
- Monitoring
- cPanel
- Plesk
Resultado operacional
- Redução do tempo de diagnóstico de indisponibilidade em servidores com múltiplos tenants.
- Padronização da triagem de incidentes DNS/HTTP em NOC/SRE.
- Melhora na previsibilidade de ações corretivas em ambientes cPanel e Plesk.
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
Reescrita em Bash do utilitário checksites para validar em lote status de sites em servidores cPanel/WHM e Plesk, com detecção de falhas DNS, HTTP e padrões de conteúdo crítico.
Arquitetura e organização
- Shell Script / Bash
- cURL
- dig/mysql CLI
- cPanel/WHM
- Plesk
- awk/sed/grep
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.