systemd
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| systemd [2017/12/03 10:44] – [SystemD] djbuldog | systemd [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 2: | Řádek 2: | ||
| * základem je jednotka.. je několik typů, například: | * základem je jednotka.. je několik typů, například: | ||
| - | * service - jednotka pro spouštění procesu (obdoba init skriptu) | + | * service - spouštění procesu (obdoba init skriptu) |
| - | * target - jednotka, která obsahuje | + | * target - seznam jednotek |
| + | * mělo by jít použít i jako skupinu služeb pro hromadné zapínání/ | ||
| * timer - časovač k jednotce service (obdoba cron) | * timer - časovač k jednotce service (obdoba cron) | ||
| * jednotka umí | * jednotka umí | ||
| Řádek 42: | Řádek 43: | ||
| * Tyto příkazy navíc vrací jako návratový kód nulu, pokud je podmínka splněna pro alespoň jednu jednotku. | * Tyto příkazy navíc vrací jako návratový kód nulu, pokud je podmínka splněna pro alespoň jednu jednotku. | ||
| * pokud se služba terpve spouští, vrací is-active nenulovou hodnotu (tj. není aktivní) a vypisuje " | * pokud se služba terpve spouští, vrací is-active nenulovou hodnotu (tj. není aktivní) a vypisuje " | ||
| + | * služba může zobrazit i nečekaně stav " | ||
| * '' | * '' | ||
| * '' | * '' | ||
| Řádek 47: | Řádek 49: | ||
| * musí se volat po každé změně jakékoliv jednotky | * musí se volat po každé změně jakékoliv jednotky | ||
| * '' | * '' | ||
| + | * '' | ||
| + | * lze zjistit například čas startu procesu přes parametr '' | ||
| + | * pro výpis konkrétního parametru lze použít argument '' | ||
| * umístění jednotek | * umístění jednotek | ||
| Řádek 69: | Řádek 74: | ||
| * Fork - předpokládá se, že spouštěný proces se ukončí a spustí jiný. Aby byla služba považována za aktivní, musí běžet aspoň jeden child | * Fork - předpokládá se, že spouštěný proces se ukončí a spustí jiný. Aby byla služba považována za aktivní, musí běžet aspoň jeden child | ||
| * Oneshot - proces se spustí pouze jednorázově a skončí. Je možné nastavit, aby se služba tvářila po ukončení jako stále aktivní | * Oneshot - proces se spustí pouze jednorázově a skončí. Je možné nastavit, aby se služba tvářila po ukončení jako stále aktivní | ||
| + | * ExecStartPre - co zavolat před spuštěním služby (může být použit opakovaně pro různé příkazy) | ||
| * ExecStart - co zavolat pro spuštění služby | * ExecStart - co zavolat pro spuštění služby | ||
| * ExecStop - co zavolat pro ukončení služby. Volá se i v případě, že služba je zabita nebo sama ukončena. | * ExecStop - co zavolat pro ukončení služby. Volá se i v případě, že služba je zabita nebo sama ukončena. | ||
| * DefaultTimeoutStartSec a DefaultTimeoutStopSec přenastavit výchozí časy, nebo pro každou jednotku zvlášť pomocí TimeoutStartSec a TimeoutStopSec. | * DefaultTimeoutStartSec a DefaultTimeoutStopSec přenastavit výchozí časy, nebo pro každou jednotku zvlášť pomocí TimeoutStartSec a TimeoutStopSec. | ||
| + | * EnvironmentFile | ||
| + | * lze využít k načtení parametrů z konfiguračního souboru | ||
| + | * který může být navíc modifikován příkazem v ExecStartPre (např. nastaví aktuální IP adresu) | ||
| + | * například | ||
| + | * vytvoří se ''/ | ||
| + | * a pak použije jako: | ||
| + | < | ||
| + | [Service] | ||
| + | EnvironmentFile=/ | ||
| + | ExecStart=/ | ||
| + | </ | ||
| * install | * install | ||
| Řádek 79: | Řádek 96: | ||
| * šablony - parametrické unity | * šablony - parametrické unity | ||
| * Pokud v systemd pracujeme s jednotkou obsahující zavináč (ve tvaru jmeno@parametr.typ), | * Pokud v systemd pracujeme s jednotkou obsahující zavináč (ve tvaru jmeno@parametr.typ), | ||
| + | |||
| + | |||
| + | ===== Jednotka timer ===== | ||
| + | |||
| + | * ukládá se do souboru '' | ||
| + | * dva typy | ||
| + | * Realtime timers | ||
| + | * spouštění na základě skutečného času jako událost kalendáře (obdoba cron) | ||
| + | * definuje se parametrem '' | ||
| + | * Monotonic timers | ||
| + | * spouští se relativně k nějakému startovacímu bodu | ||
| + | * Například OnBootSec, OnActiveSec | ||
| + | * při uspání počítače se zastaví | ||
| + | * definuje se parametrem '' | ||
| + | |||
| + | * seznam aktivních časovačů lze vypsat příkazem | ||
| + | |||
| + | systemctl list-timers | ||
| + | NEXT | ||
| + | Sun 2017-12-03 11:00:59 CET 9min left Sun 2017-12-03 10:01:46 CET 49min ago anacron.timer | ||
| + | Sun 2017-12-03 11:09:00 CET 17min left Sun 2017-12-03 10:39:04 CET 12min ago phpsessionclean.timer | ||
| + | Sun 2017-12-03 22:00:00 CET 11h left Sun 2017-12-03 10:17:21 CET 34min ago fstrim.timer | ||
| + | Mon 2017-12-04 01:02:19 CET 14h left Sun 2017-12-03 10:17:17 CET 34min ago apt-daily.timer | ||
| + | Mon 2017-12-04 06:04:13 CET 19h left Sun 2017-12-03 06:59:46 CET 3h 51min ago apt-daily-upgrade.timer | ||
| + | Mon 2017-12-04 06:47:32 CET 19h left Sun 2017-12-03 06:47:32 CET 4h 4min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service | ||
| + | |||
| + | * Příklad s fstrim | ||
| + | * pravidelné spouštění příkazu každou neděli v deset hodin | ||
| + | |||
| + | systemctl cat fstrim.service | ||
| + | [Unit] | ||
| + | Description=Discard unused blocks | ||
| + | | ||
| + | [Service] | ||
| + | Type=oneshot | ||
| + | ExecStart=/ | ||
| + | |||
| + | systemctl cat fstrim.timer | ||
| + | [Unit] | ||
| + | Description=Discard unused blocks once a week | ||
| + | Documentation=man: | ||
| + | | ||
| + | [Timer] | ||
| + | # | ||
| + | OnCalendar=Sun, | ||
| + | AccuracySec=1h | ||
| + | Persistent=true | ||
| + | | ||
| + | [Install] | ||
| + | WantedBy=timers.target | ||
| ===== Zdroje ===== | ===== Zdroje ===== | ||
| Řádek 93: | Řádek 160: | ||
| * https:// | * https:// | ||
| * volby pro jednotku | * volby pro jednotku | ||
| + | * http:// | ||
| + | * zadávání času, například do timer jhednotky | ||
systemd.1512294274.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
