Skip to content

systemd

Systemd tasks

This module provides tasks for interacting with systemd.

daemon_reload(user_mode=False, machine=None, user_name=None)

Reload the systemd daemon to read unit file changes.

  • user_mode: whether to use per-user systemd (systemctl --user) or not
  • machine: the machine name to connect to
  • user_name: connect to a specific user's systemd session

service(service, running=True, restarted=False, reloaded=False, command=None, enabled=None, daemon_reload=False, user_mode=False, machine=None, user_name=None)

Manage the state of systemd managed units.

  • service: name of the systemd unit to manage
  • running: whether the unit should be running
  • restarted: whether the unit should be restarted
  • reloaded: whether the unit should be reloaded
  • command: custom command to pass like: /etc/rc.d/<name> <command>
  • enabled: whether this unit should be enabled/disabled on boot
  • daemon_reload: reload the systemd daemon to read updated unit files
  • user_mode: whether to use per-user systemd (systemctl --user) or not
  • machine: the machine name to connect to
  • user_name: connect to a specific user's systemd session

Examples:

.. code:: python

systemd.service(
    name="Restart and enable the dnsmasq service",
    service="dnsmasq.service",
    running=True,
    restarted=True,
    enabled=True,
)

systemd.service(
    name="Enable logrotate timer",
    service="logrotate.timer",
    running=True,
    enabled=True,
)