[systemd-devel] Emulate two cron tab entries to start/stop service unit natively?

John da_audiophile at yahoo.com
Tue Aug 2 18:07:08 UTC 2016






>________________________________
> From: Kai Krakow <hurikhan77 at gmail.com>
>To: systemd-devel at lists.freedesktop.org 
>Sent: Tuesday, August 2, 2016 6:38 AM
>Subject: Re: [systemd-devel] Emulate two cron tab entries to start/stop service unit natively?
> 
>
>Am Mon, 1 Aug 2016 23:59:13 +0000 (UTC)
>schrieb John <da_audiophile at yahoo.com>:
>
>> Is it possible to use a systemd timer unit to start and stop a
>> service unit according to set times of the day?  In my case,
>> openvpn.service is a forking type if that matters. I can do this
>> using cron, but am wondering if/how to do it with systemd natively.
>> 
>> In cron terms, one could do this like so:
>> # start at 7 AM
>> * 7 * * * systemctl start openvpn.service
>> 
>> 
>> # stop at 5 PM
>> * 17 * * * systemctl stop openvnp.service
>> 
>> The syntax of the timer with differential commands (ie start the
>> service at 7 AM and stop it at 5 PM) isn't clear to me even after
>> consulting `man systemd.time` and `man systemd.timer`.
>
>Create to additional services, openvpn-start.service and
>openvpn-stop.service, which each require openvpn.service to start or
>stop (Wants and Conflicts should work). Those two services should be of
>type one-shot, so they start once and quit without error. They contain
>no exec lines.
>
>Now create two timer units, openvpn-{start,stop}.timer with appropriate
>time definitions and enable those. All other units shouldn't be enabled.


Thank you for the detailed reply! Too bad there isn't a more simplistic solution (ie something native in a single timer unit).


More information about the systemd-devel mailing list