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
smartmontools
instalado (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
EMAIL
para 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="seu@email.com" # 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 disco
Para executar o script:
sudo ./server-monitor.sh
Para 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.sh
Os 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