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.