[systemd-devel] systemd user instance

Kai Krakow hurikhan77 at gmail.com
Tue May 7 14:45:36 PDT 2013


Jóhann B. Guðmundsson <johannbg at gmail.com> schrieb:

>>>> But now I want to (and need to) give some users cron-like abilities. I
>>>> discovered that systemd supports user instances - perfect!
>>> Then install cronie...
>> That's the obvious solution but a little bit counter-productive with
>> respect to my question...
> 
> 
> Systemd is not ready for users cron like behavior.

Okay... Well, I did not expect a full replacement anyway. But...

> Not from a usability perspective ( complexity of time units vs cron's
> one liner ) and from the fact that there are cron features which cannot
> be support ( for now ) and of those that will not be supported.

True...

> I threw some ideas out there on the table in brno but how we might try
> to solve that ( from an user usability perspective ) but to do so, along
> with supporting few other things in the future like container ( startup
> ) templates and the fact that the drop-in snippets in .d/*.conf does not
> scale very well ( due to it's own unit directory implementation ) I'm
> afraid we will need to rethink and reconstruct /etc/systemd/ directory
> structure sooner rather then later since it's slowly becoming too
> complex and ill manageable in the process.

Yes, it looks a bit messy there but it is maintainable for me.

> Anyway basically just think of systemd timer units cron like
> implementation like systemd's (x)inetd replacement which only replaces
> it up to 80% - 90%

Sure.

...but: I just want some simple timers and just for a few users (maybe two 
or three) and these should be able to tear down the spawned process cleanly 
which cron really cannot do so well.

The nice features from systemd as a "simple" (more or less) cron replacement 
are:

* clean process teardown and keeping track of "run-away" processes
* very good logging capabilities
* easy to maintain cpu and io policies

Actually it's meant to be used for an application server which has to spawn 
and watch background jobs every now and then and keep user-initiated 
services running. I don't think that can be done "right" with cron. At least 
we had our headaches with that in the past and here systemd seems to come in 
just right and handy.

Thanks for an elaborated answer thou, I appreciate it.

PS: I know that cron is the better tool for launching simple one-liners...

Regards,
Kai



More information about the systemd-devel mailing list