Systemd/timers/ru: Difference between revisions
No edit summary Tags: Mobile edit Mobile web edit |
Updating to match new version of source page Tags: Mobile edit Mobile web edit |
||
| Line 27: | Line 27: | ||
}; | }; | ||
</syntaxHighlight> | </syntaxHighlight> | ||
Alternatively here, avoid quotes when calling for the binary and its command options: | |||
<syntaxHighlight lang="nix"> | |||
${pkgs.foo}/bin/foo command-options | |||
</syntaxHighlight> | |||
This will yield the same result as running | |||
<syntaxhighlight lang="bash"> | |||
foo command-options | |||
</syntaxhighlight> | |||
in your terminal. | |||
====Using the <code>systemd.services.<name>.startAt</code> shorthand==== | |||
If you only want a service to execute at an interval and don't plan to configure the timer much more, you can use the <code>systemd.services.<name>.startAt</code> option. This will have the underlying systemd module in nixpkgs create the timer for you, and set its <code>OnCalendar</code> field. Note that the semantics for <code>OnCalendar</code> are different to <code>OnUnitActiveSec</code>. | |||
This example shows the previous <code>hello-world</code> service configured with <code>startAt</code>, running every 5 minutes. | |||
<syntaxHighlight lang="nix"> | |||
systemd.services."hello-world" = { | |||
script = '' | |||
set -eu | |||
${pkgs.coreutils}/bin/echo "Hello World" | |||
''; | |||
serviceConfig = { | |||
Type = "oneshot"; | |||
User = "root"; | |||
}; | |||
startAt = "*:0/5"; | |||
}; | |||
</syntaxHighlight> | |||
====Running timer on a schedule==== | |||
Следующий пример запускается один раз в день (в 12:00). При активации он запускает службу немедленно, если пропущено время последнего запуска (опция Persistent=true), например, из-за отключения питания системы. | Следующий пример запускается один раз в день (в 12:00). При активации он запускает службу немедленно, если пропущено время последнего запуска (опция Persistent=true), например, из-за отключения питания системы. | ||
<syntaxHighlight lang="nix"> | <syntaxHighlight lang="nix"> | ||