Este script automatiza o monitoramento e manutenção de servidores Ubuntu, realizando verificações de disco, atualizações do sistema e enviando alertas por e-mail quando necessário.
Monitoramento de Disco
- Verifica o uso de espaço em disco
- Monitora o uso de inodes
- Verifica a saúde dos discos (SMART)
- Envia alertas quando o uso atinge níveis críticos
Atualizações do Sistema
- Atualiza a lista de pacotes
- Instala atualizações de segurança
- Instala atualizações normais
- Remove pacotes obsoletos
- Limpa o cache de pacotes
- Notifica quando é necessária reinicialização
Sistema de Logs
- Registra todas as operações em
/var/log/server-monitor.log - Mantém histórico de alertas e erros
- Registra todas as operações em
Sistema de Alertas
- Envia e-mails de alerta para problemas críticos
- Notifica sobre necessidade de reinicialização
- Alerta sobre problemas de disco
- Ubuntu Server
- Acesso root
- Pacote
smartmontoolsinstalado (para verificação SMART) - Servidor de e-mail configurado (para envio de alertas)
- Clone o repositório:
git clone https://github.com/seu-usuario/scriptUbuntu.git cd scriptUbuntu- Dê permissão de execução ao script:
chmod +x server-monitor.sh- Configure o e-mail para alertas:
- Edite o arquivo
server-monitor.sh - Altere a variável
EMAILpara seu endereço de e-mail
- Edite o arquivo
Você pode ajustar os seguintes parâmetros no início do script:
LOG_FILE="/var/log/server-monitor.log"# Local do arquivo de log EMAIL="[email protected]"# E-mail para alertas DISK_CRITICAL=90 # % de uso crítico do disco INODE_CRITICAL=90 # % de uso crítico de inodes CHECK_DISK_HEALTH=1 # 1 para verificar saúde do discoPara executar o script:
sudo ./server-monitor.shPara executar o script automaticamente, adicione ao crontab:
# Editar crontab sudo crontab -e # Adicionar linha para executar diariamente às 3h da manhã 0 3 *** /caminho/completo/para/server-monitor.shOs logs são armazenados em /var/log/server-monitor.log e incluem:
- Data e hora de cada operação
- Status das verificações
- Alertas e erros
- Resultados das atualizações
O script inclui tratamento robusto de erros:
- Verifica permissões de root
- Valida operações de disco
- Trata falhas nas atualizações
- Registra erros no log
- Envia alertas por e-mail em caso de problemas críticos
Contribuições são bem-vindas! Por favor, sinta-se à vontade para:
- Fazer um fork do projeto
- Criar uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -am 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Criar um Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.
Guilherme Satoshi