Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Systemd — správa služeb

15. 10. 2025 Aktualizováno: 27. 03. 2026 1 min čtení intermediate

Systemd je init systém na většině moderních distribucí. Poskytuje jednotný způsob správy procesů, služeb a logů a nahrazuje starší SysVinit a Upstart. Oproti jednoduchým init skriptům nabízí deklarativní konfiguraci, automatické řešení závislostí, paralelní start služeb a pokročilé řízení prostředků. Pochopení systemd je nezbytné pro každého, kdo spravuje Linux servery.

Základní příkazy

systemctl start|stop|restart|reload|status nginx
systemctl enable|disable nginx
systemctl list-units --type=service --state=failed
systemctl list-timers                   # systemd timery (náhrada cronu)

Příkaz systemctl status zobrazí stav služby včetně posledních řádků logu, PID a doby běhu. Pro detailnější diagnostiku použijte journalctl -u služba.

Vlastní služba

[Unit]
Description=Moje aplikace
After=network.target postgresql.service

[Service]
Type=simple
User=app
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/bin/server --port 8080
Restart=on-failure
RestartSec=5
EnvironmentFile=/opt/myapp/.env

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now myapp

Sekce [Unit] definuje závislosti — After zajistí správné pořadí startu, Requires tvrdou závislost. [Service] nastavuje spouštění: Type=simple pro přímý start, Type=forking pro démony, Type=notify pro služby oznamující připravenost. Restart=on-failure automaticky restartuje při selhání, RestartSec nastavuje prodlevu mezi pokusy.

Resource limity

[Service]
CPUQuota=200%
MemoryMax=2G
LimitNOFILE=65535
ProtectSystem=strict
PrivateTmp=yes
NoNewPrivileges=yes

Systemd cgroups limity izolují služby a zabraňují jedné službe spotřebovat všechny systémové prostředky. ProtectSystem=strict zajistí read-only přístup k systémovým adresářům, PrivateTmp izoluje /tmp pro každou službu. Tyto bezpečnostní direktivy jsou doporučeny pro produkční nasazení.

Debugging

systemctl status myapp -l              # kompletní status s logy
journalctl -u myapp --since '5 min ago' # logy za posledních 5 minut
systemd-analyze blame                  # co zpomaluje boot
systemd-analyze critical-chain myapp   # závislostní řetězec

Systemd je standard

Naučte se unit soubory, závislosti a resource limity. Investice do systemd znalostí se vrátí při každém nasazení a troubleshootingu.

systemdlinuxservices
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.