Re: Stop systemd timer upon success script and restart the next day

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



15.05.2019 23:21, Jeffrey Walton пишет:
> I have a systemd timer that starts a service, and the service executes
> a script that downloads data files once a day. Once the data files are
> retrieved I don't need the timer for the remainder of the day.
> However, I need the time again the next day.
> 
> Here are the two docs I found on scheduling a timer, but I was not
> able to parse out the info I needed.
> https://www.freedesktop.org/software/systemd/man/systemd.timer.html
> and https://www.freedesktop.org/software/systemd/man/systemd.time.html
> .
> 
> How do I specify a timer that starts 6:00 AM every morning, fires once
> an hour, and then stops for the day upon success of the download?

You do not. Timers are not aware what services they start do, nor are
they aware of "download success".

How expensive starting of service is that you need to prevent it?

I was about to suggest transient timers to simulate "at" command - your
service could schedule next run if necessary. It almost works (i.e. next
service invocation is scheduled) but it results in permanent:

мая 16 08:31:34 bor-Latitude-E5450 systemd-run[12618]: Failed to start
transient timer unit: Unit test-service.timer already exists.

For a proof of concept

[Service]
ExecStart=/bin/echo I am started
ExecStopPost=/usr/bin/systemd-run --no-block --user
--unit=test-service.service --on-unit-inactive=+5


_______________________________________________
systemd-devel mailing list
systemd-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/systemd-devel




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux