Se usa Linux, este artigo vai revolucionar a forma como gere e monitoriza os seus serviços de sistema! Sabia que o seu sistema Linux está constantemente a executar serviços essenciais em segundo plano — desde processos de login e registo de sistema (syslog), até servidores web, partilhas de ficheiros, impressoras, DNS, DHCP e muito mais?
Pois é… O que muitos não sabem é como identificar exatamente que serviços estão a correr, e como os controlar. E é aqui que entra o poderoso Systemd, o gestor de serviços mais usado nas distribuições modernas de Linux!
O Que É o Systemd (e Por Que Muda Tudo)?
Systemd é o motor invisível mas vital do seu sistema operativo Linux. Substituindo o antigo processo init, Systemd é compatível com scripts SysV e LSB, e oferece uma forma intuitiva e poderosa de gerir serviços — tudo através do indispensável comando systemctl
.
Por Que Deve Saber Que Serviços Estão a Correr no Seu Linux?
Saber quais serviços estão ativos é fundamental para:
Monitorizar o consumo de recursos
Diagnosticar lentidão ou falhas
Garantir que serviços críticos não falham
Otimizar o desempenho e a segurança do sistema
E adivinhe? O Systemd torna tudo isto SIMPLES! Com comandos que até um principiante pode usar, verá rapidamente todos os serviços ativos, inativos, falhados — e muito mais!
Comando Mágico: Listar Todos os Serviços Ativos com Systemd
Quando executa o comando:
systemctl
Vai ver todos os unidades carregadas (serviços, sockets, dispositivos, etc.), bem como os seus estados.
Exemplos Práticos para Dominar o Systemctl
Ver Todos os Serviços Carregados (sejam ativos, falhados ou parados):
systemctl list-units --type=service
# ou
systemctl --type=service
Ver Apenas os Serviços Ativos:
systemctl list-units --type=service --state=active
Ver Todos os Serviços a Correr Neste Momento:
systemctl list-units --type=service --state=running
Termos-Chave Que Precisa Saber (Explicados de Forma Simples)
- Unit: Pode ser um serviço, socket, dispositivo, etc.
- Load: Indica se a unidade está carregada.
- Active: Mostra se está a correr ou não.
- SUB: Dá mais detalhe (em execução, parado, falhado).
- Description: Explica para que serve a unidade.
DICA PRO: Crie um Atalho Para Ver Serviços Ativos Mais Rápido!
Edite o ficheiro .bashrc
:
vim ~/.bashrc
Adicione:
alias running_services='systemctl list-units --type=service --state=running'
Agora basta escrever running_services
no terminal e… voilá! Lista completa dos serviços em execução.
Saber em Que Porta um Serviço Está a Ouvir (Crítico para Admins de Sistemas)
Use estes comandos para descobrir que portas os seus serviços estão a usar:
netstat -ltup | grep zabbix_agentd
# ou
ss -ltup | grep zabbix_agentd
Vai ver algo como:127.0.0.1:10050
— o processo zabbix_agentd
está na porta 10050.
Quais Portas Estão Abertas no Firewall?
Se está a usar FirewallD:
firewall-cmd --list-services
firewall-cmd --list-ports
Ou, se usa o famoso UFW:
sudo ufw status
Saber que serviços estão abertos é fundamental para a segurança do servidor.
Automatize o Monitoramento de Serviços no Linux (Sem Esforço!)
Verificar Serviços a Correr a Cada 5 Minutos com Cron
Abra o crontab:
crontab -e
Adicione:
*/5 * * * * systemctl list-units --type=service --state=running > /tmp/running_services.log
Depois, pode ver os serviços registados com:
cat /tmp/running_services.log
# ou
tail -f /tmp/running_services.log
BONUS: Reiniciar Serviços Automaticamente Quando Falham
Evite dores de cabeça com falhas inesperadas. Para garantir que um serviço reinicia automaticamente:
systemctl edit apache2
Adicione:
[Service]
Restart=always
RestartSec=5s
Depois:
systemctl daemon-reload
systemctl restart apache2
systemctl show apache2 --property=Restart
Conclusão
Se chegou até aqui, parabéns — agora tem em mãos um guia prático e poderoso para dominar os serviços em execução no Linux, tirar o máximo partido do systemctl
, monitorizar portas, automatizar verificações e blindar os seus sistemas com reinícios automáticos!
Quer manter o controlo total do seu servidor? Comece hoje mesmo com estas dicas práticas e torne-se o verdadeiro mestre do Linux!