Powrót do narzędzi

Generator usług Systemd

Wpisz plik wykonywalny, katalog roboczy, politykę restartu i użytkownika — otrzymaj gotową do instalacji jednostkę .service (oraz opcjonalną towarzyszącą jednostkę .timer), z wyjaśnieniem każdej wygenerowanej linii.

Gotowe zestawy

Zacznij od typowego obciążenia

Wczytuje rozsądne wartości domyślne dla poniższych pól. Wszystko pozostaje edytowalne.

[Unit]

Opis i kolejność

Sekcja [Unit] to metadane i kolejność — informuje systemd, czym jest ta usługa i po czym powinna się uruchamiać, ale sama niczego nie uruchamia.

Jednostki, po których ma się uruchomić, oddzielone spacjami.

[Service] — proces

Co uruchomić

Wymagana ścieżka bezwzględna.

Domyślnie równe User, gdy pozostawione puste.

[Service] — środowisko

Zmienne środowiskowe

Każdy wiersz staje się osobną linią Environment=. Użyj zamiast tego EnvironmentFile dla sekretów, których nie chcesz trzymać bezpośrednio w pliku jednostki.

Opcjonalne, ścieżka bezwzględna.

[Install]

Kiedy uruchamia się automatycznie

Sekcja [Install] ma znaczenie tylko dla systemctl enable — określa, w sekwencji rozruchu którego celu ma zostać uwzględniona ta usługa.

[Service] — niezawodność

Polityka restartu

To nie jest zwykły przełącznik — wybierz wariant pasujący do tego, jak ten proces ma się zachowywać w razie awarii.

Restartuje przy awarii, niezerowym kodzie wyjścia lub przekroczeniu czasu — ale celowe „systemctl stop” lub czyste exit(0) pozostawia bez zmian. Zwykły wybór dla długo działającej aplikacji lub serwera gry: odzyskuje się po awariach, nie walcząc z administratorem, który zatrzymał ją celowo.

Liczba sekund do odczekania przed restartem.

Opcjonalne

Ogranicza, ile RAM-u i CPU może wykorzystać ta pojedyncza usługa. Zostaw wyłączone, chyba że naprawdę potrzebujesz twardego limitu.

Walidacja

Typowe błędy

Wygląda czysto — nie wykryto problemów.

Opcjonalna jednostka towarzysząca

Uruchamia tę usługę według harmonogramu zamiast (lub oprócz) przy starcie — odpowiednik zadania cron w systemd, powiązany z obciążeniami Type=oneshot. Wolisz zwykły cron do czegoś prostego? Zajmuje się tym osobne narzędzie — Generator zadań Cron — OnCalendar= to inna składnia niż cron i nie jest bezpośrednim zamiennikiem.

Wynik

Wygenerowany plik(-i) jednostki

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

Polecenia instalacji

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

Prowadzisz własny serwer gier?

Serwery gier Wespner z ochroną DDoS, dyskami NVMe i aktywacją w kilka minut.

Zobacz hosting