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

Kai Krakow hurikhan77 at gmail.com
Tue Aug 2 10:38:21 UTC 2016


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.

-- 
Regards,
Kai

Replies to list-only preferred.



More information about the systemd-devel mailing list