Zpět na nástroje

Generátor souborů systemd service

Vyplňte spustitelný soubor, pracovní adresář, politiku restartu a uživatele — získáte připravenou .service jednotku (a volitelně i doprovodnou .timer jednotku) s vysvětlením každého vygenerovaného řádku.

Přednastavení

Začněte s běžnou zátěží

Načte rozumné výchozí hodnoty pro pole níže. Vše zůstává poté upravitelné.

[Unit]

Popis a řazení

Sekce [Unit] jsou metadata a řazení — říká systemd, co je tato služba a po čem má následovat, ale sama o sobě nic nespouští.

Jednotky, po kterých se má tato služba spustit, oddělené mezerou.

[Service] — proces

Co spustit

Vyžadována absolutní cesta.

Pokud je prázdné, použije se hodnota User.

[Service] — prostředí

Proměnné prostředí

Každý řádek se stane vlastním řádkem Environment=. Pro tajné hodnoty, které nechcete mít přímo v souboru jednotky, použijte místo toho EnvironmentFile.

Volitelné, absolutní cesta.

[Install]

Kdy se automaticky spustí

Sekce [Install] má význam jen pro systemctl enable — určuje, do sekvence spouštění kterého cíle má tuto službu zařadit.

[Service] — spolehlivost

Politika restartu

Není to přepínač zapnuto/vypnuto — vyberte variantu odpovídající tomu, jak má tento proces selhávat.

Restartuje se při pádu, nenulovém návratovém kódu nebo timeoutu — ale záměrné „systemctl stop“ nebo čisté exit(0) ponechá být. Obvyklá volba pro dlouhoběžící aplikaci nebo herní server: zotaví se z pádů, aniž by bojovala s administrátorem, který ji záměrně zastavil.

Počet sekund čekání před restartem.

Volitelné

Omezuje, kolik RAM a CPU může tato jedna služba využít. Nechte vypnuté, pokud opravdu nepotřebujete pevný strop.

Validace

Časté chyby

Vypadá to čistě — nebyly zjištěny žádné problémy.

Volitelná doprovodná jednotka

Spouští tuto službu podle rozvrhu místo (nebo navíc k) startu systému — systemd obdoba cron úlohy, vázaná na zátěž typu Type=oneshot. Preferujete pro něco jednoduchého obyčejný cron? Pokrývá to samostatný nástroj Generátor Cron úloh — OnCalendar= má jinou syntaxi než cron a není jeho přímou náhradou.

Výstup

Vygenerované soubory jednotek

my-application.service

[Unit]
Description=My application
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node /opt/wespner-app/server.js
WorkingDirectory=/opt/wespner-app
User=wespner-app
Environment="NODE_ENV=production"
Environment="PORT=3000"
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Instalační příkazy

sudo cp my-application.service /etc/systemd/system/my-application.service
sudo systemctl daemon-reload
sudo systemctl enable --now my-application.service
journalctl -u my-application.service -f   # follow logs

Provozuješ vlastní herní server?

Herní servery Wespner s DDoS ochranou, NVMe disky a aktivací do pár minut.

Prohlédnout hosting