wiki/notebook/linux.systemd.transient-units.org

26 lines
1020 B
Org Mode
Raw Normal View History

:PROPERTIES:
:ID: a602f900-cdcf-4090-9278-d5926d80eedc
:END:
#+title: systemd transient units
#+date: 2021-08-02 12:01:49 +08:00
#+date_modified: 2021-08-02 12:05:06 +08:00
#+language: en
You can create units on-the-go with =systemd-run=.
Very useful for quickly creating and scheduling one-off services.
This tool involves [[id:cd5f0d04-d9bb-44e8-a0f2-630ea58c1e94][systemd services]] and [[id:f1b21fc8-86a5-47cd-b3d8-da6ac7a34427][systemd timers]].
Like most systemd-related binaries, this can be run at system- and user-level (see [[id:c7edff80-6dea-47fc-8ecd-e43b5ab8fb1e][systemd at user-level]]).
#+begin_src shell
# This will create a user-level service file with the given command as the task.
systemd-run --user borgmatic --config emergency-config.yaml --verbose
# Create a transient timer for the service.
systemd-run --user borg-backup@external-drive.service --on-calendar=12:00
#+end_src
The result should give you the generated name of the unit.
Then, they can be managed like an ordinary unit.