[systemd-devel] Cascading oneshot units

Evan Klitzke evan at eklitzke.org
Tue Mar 20 06:44:50 UTC 2018


I am wondering how to create a cascade of oneshot units that should run
on a timer. What I'm imagining is something like the following:

  foo.timer
  foo.service
  bar.service

In this example foo.service and bar.service are both Type=oneshot with
no [Install] section. foo.timer declares Unit=foo.service, which causes
foo.service to run whenever the timer triggers. That's simple enough,
and I have that working.

I want bar.service to run after foo.service completes, as it operates on
some data generated by foo.service. I'm not sure what the magic bits are
to make this work. I could obviously work around the issue by wrapping
the logic for the two jobs in a shell script that runs the two actions
sequentially, but I rather like the logging and status utilities
provided by systemd, so having them as separate units seems preferable.

--
Evan Klitzke
https://eklitzke.org/


More information about the systemd-devel mailing list