Pular para o conteúdo
Skillpedia
Diversos48 mil · #4305

systemd-services

Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.

O que ela faz

Esta ferramenta ajuda a gerenciar programas que rodam em segundo plano no seu computador Linux, chamados de 'serviços'. Você pode criar, iniciar, parar e configurar esses serviços para que eles funcionem automaticamente quando o computador liga.

Quando usar

  • ✓Quando você quer que um programa rode o tempo todo sem precisar abri-lo.
  • ✓Para agendar tarefas para rodar em horários específicos, como fazer backups.
  • ✓Para configurar como um programa usa os recursos do computador (memória, processador).

Exemplo do que pedir para a IA

“Configure o programa 'meu_app' para iniciar automaticamente quando o computador ligar e reiniciar se ele travar.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/systemd-services/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/systemd-services/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você escreve um arquivo de configuração descrevendo o programa e como ele deve rodar. Depois, usa comandos simples para dizer ao sistema para iniciar, parar ou gerenciar esse programa.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill systemd-services

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/systemd-services/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Serviços Systemd

Crie, gerencie e monitore serviços e timers do systemd. Abrange a criação de arquivos de unidade, gerenciamento de dependências, ativação por socket, limites de recursos, análise de logs com journalctl e endurecimento de produção.

Quando Usar

  • Implantar um aplicativo como um serviço de background gerenciado
  • Substituir jobs cron por timers do systemd para melhor controle de logs e dependências
  • Configurar ativação por socket para inicialização de serviço sob demanda
  • Configurar limites de recursos (CPU, memória, I/O) para serviços
  • Depurar falhas na inicialização de serviços e travamentos em tempo de execução
  • Gerenciar dependências e ordenação de serviços

Pré-requisitos

  • Sistema Linux rodando systemd (a maioria das distribuições modernas)
  • Acesso root ou sudo para criar arquivos de unidade em nível de sistema
  • Binário ou script do aplicativo para rodar como serviço
  • Compreensão do ciclo de vida de início/parada do aplicativo

Arquivo de Unidade de Serviço -- Exemplo Completo

# /etc/systemd/system/myapp.service
[Unit]
Description=MyApp Production Server
Documentation=https://docs.example.com/myapp
After=network-online.target postgresql.service
Wants=network-online.target
Requires=postgresql.service

[Service]
Type=notify
User=myapp
Group=myapp
WorkingDirectory=/opt/myapp

# Environment configuration
EnvironmentFile=/etc/myapp/env
Environment=NODE_ENV=production
Environment=PORT=8080

# Execution
ExecStartPre=/opt/myapp/bin/migrate --check
ExecStart=/opt/myapp/bin/server --config /etc/myapp/config.yaml
ExecStartPost=/opt/myapp/bin/healthcheck.sh
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/opt/myapp/bin/graceful-stop.sh

# Restart behavior
Restart=on-failure
RestartSec=5
StartLimitIntervalSec=300
StartLimitBurst=5

# Timeouts
TimeoutStartSec=30
TimeoutStopSec=30
WatchdogSec=60

# Security hardening
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/myapp /var/log/myapp
CapabilityBoundingSet=
AmbientCapabilities=

# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=myapp

[Install]
WantedBy=multi-user.target

Comandos de Gerenciamento de Serviço

# Reload systemd after creating or modifying unit files
systemctl daemon-reload

# Start, stop, restart a service
systemctl start myapp
systemctl stop myapp
systemctl restart myapp

# Reload service configuration without restart (if supported)
systemctl reload myapp

# Enable service to start on boot
systemctl enable myapp

# Enable and start in one command
systemctl enable --now myapp

# Disable and stop
systemctl disable --now myapp

# Check service status
systemctl status myapp

# Check if a service is active, enabled, or failed
systemctl is-active myapp
systemctl is-enabled myapp
systemctl is-failed myapp

# List all running services
systemctl list-units --type=service --state=running

# List all failed services
systemctl list-units --type=service --state=failed

# Show all properties of a service
systemctl show myapp

# Show specific property values
systemctl show myapp -p MainPID,MemoryCurrent,CPUUsageNSec

# Mask a service (prevent it from being started at all)
systemctl mask myapp

# Unmask
systemctl unmask myapp

# Reset a failed service state
systemctl reset-failed myapp

Unidades de Timer (Substituição do Cron)

Arquivo de Timer

# /etc/systemd/system/backup.timer
[Unit]
Description=Daily backup timer

[Timer]
# Run daily at 2:30 AM
OnCalendar=*-*-* 02:30:00
# If the system was off at the scheduled time, run when it boots
Persistent=true
# Add random delay up to 15 minutes to avoid thundering herd
RandomizedDelaySec=900
# Associate with a specific service (defaults to same name .service)
Unit=backup.service

[Install]
WantedBy=timers.target

Arquivo de Serviço Correspondente

# /etc/systemd/system/backup.service
[Unit]
Description=Daily backup job
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
User=backup
ExecStart=/usr/local/bin/run-backup.sh
StandardOutput=journal
StandardError=journal

Gerenciamento de Timer

# Common OnCalendar expressions:
# minutely, hourly, daily, weekly, monthly
# *-*-* 06:00:00       Daily at 6 AM
# Mon..Fri *-*-* 09:00 Weekdays at 9 AM
# *:0/15               Every 15 minutes

# Validate calendar expressions
systemd-analyze calendar "Mon..Fri *-*-* 09:00"

# List all active timers
systemctl list-timers --all

# Enable and start a timer
systemctl enable --now backup.timer

# Run the associated service immediately (for testing)
systemctl start backup.service

Ativação por Socket


…
Perguntas frequentes

O que é um 'serviço' no Linux?

É um programa que roda em segundo plano, sem precisar que você interaja diretamente com ele, como um servidor web ou um programa de monitoramento.

O que são 'timers' do systemd?

São uma forma mais moderna e controlável de agendar tarefas que antes eram feitas com o 'cron'. Eles permitem definir horários precisos e dependências.

Preciso ser um expert para usar isso?

Não, a ferramenta simplifica o gerenciamento. Você só precisa saber qual programa quer rodar e ter acesso de administrador no Linux.

Detalhes

Descrição original do autor

Create and manage systemd services and timers. Configure service dependencies and resource limits. Use when managing system services.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4305
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas