Noções Essenciais de Sysadmin
Arquivos, permissões, processos e serviços em servidores Linux executando APIs Python, workers e jobs cron - os comandos que os operadores usam antes de abrir um depurador Python.
Busque em todas as páginas da documentação
Arquivos, permissões, processos e serviços em servidores Linux executando APIs Python, workers e jobs cron - os comandos que os operadores usam antes de abrir um depurador Python.
ls -la /var/log/myapp/
sudo systemctl status billing-api
sudo journalctl -u billing-api -n 100 --no-pager
df -h && du -sh /var/lib/myapp/*Quando usar isso:
# Novo diretório de deploy pertencente ao usuário do serviço
sudo mkdir -p /var/lib/billing-api/uploads
sudo chown billing:billing /var/lib/billing-api/uploads
sudo chmod 750 /var/lib/billing-api/uploads
# Verifica a unidade e os logs recentes
sudo systemctl daemon-reload
sudo systemctl restart billing-api
sudo systemctl is-active billing-api
sudo journalctl -u billing-api -fO que isso demonstra:
systemctl após alteração do arquivo de unidade-f no journal para triagem ao vivoExecStart, env, política de reinício.| Problema | Comandos |
|---|---|
| Permissões | ls -la, namei -l path, chmod, chown |
| Disco | df -h, du -xh --max-depth=1 |
| Serviço | systemctl status, restart, enable |
| Logs | journalctl -u, tail /var/log/ |
# Encontra qual processo está ocupando a porta 8000
sudo ss -tlnp | grep 8000
# Confirma o caminho do python do venv na unidade systemd
systemctl cat billing-api | grep ExecStart750 e grupo do aplicativo./etc/systemd/system/ com comentário de versão.df mostra espaço, mas as escritas falham. Correção: df -i.ausearch / aa-status.| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| Logs do Docker | Serviços Python em contêineres | VMs systemd bare metal |
| Kubernetes kubectl | Deploys K8s | Staging de VM única |
| Playbooks Ansible | Configuração de servidor repetível | Debug SSH pontual |
| Gerenciador de sessão SSH na nuvem | Sem chaves SSH de bastião | On-premise air-gapped |
systemd em VMs Linux modernas; supervisord em contêineres legados sem systemd.
/etc/billing-api/env modo 600 pertencente a root:billing com EnvironmentFile= na unidade - não legível por qualquer pessoa.
recarregar se o aplicativo suportar HUP; APIs Python geralmente precisam de reiniciar após o deploy de código.
A unidade de serviço pode definir UMask=0027 para que novos arquivos não sejam graváveis pelo grupo/qualquer pessoa.
tmpfs dimensionado evita o preenchimento do disco, mas os dados são perdidos na reinicialização - use apenas para scratch efêmero.
timedatectl status - JWT e correlação de log quebram com relógio ruim.
Aumente LimitNOFILE= na unidade para FastAPI de alta conexão atrás de keep-alive.
Auditoria de segurança find / -perm -4000 2>/dev/null - não relacionado a Python, mas tarefa comum de sysadmin.
O mapeamento UID/GID deve corresponder entre os nós - prefira armazenamento de objetos (S3) para uploads.
Monte caminhos graváveis explicitamente para logs e tmp - comum em contêineres protegidos.
Versões de Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+ e uv 0.6+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026