[systemd-devel] "semaphore" for .timer-triggered run

Johannes Ernst johannes.ernst at gmail.com
Fri Aug 2 20:24:58 UTC 2019


I have a oneshot .service (certbot) that is run by its .timer with:

OnCalendar=daily
RandomizedDelaySec=1day

I also have a sometimes long-running script that may modify the same data. So the script and the oneshot service should never run at the same time.

Is there a good systemd pattern for some kind of semaphore-like thing that will delay the execution of the oneshot service and try again when the script is done running?

I could skip execution, but then I miss an entire day until the service is run again -- I’d prefer it if it tried again a few minutes later. Or I could poll for some flag before running the main part of the service. Wondering whether there something more systemd-native.

Thanks,



Johannes.



More information about the systemd-devel mailing list