I have yet to have a good experience trying to get anything to work with systemd.
Skill issue, my system works fine
OK, yeah, this is awesome. I will definitely be making use of these tricks in future.
More and more, Linux is becoming Microsoft. “Oh, your system doesn’t run systemd? Good luck using anything else loser!”
Are you complaining that you need systemd to use systemd timers?
No, I’m complaining that things like gnome and KDE all expect systemd and all of its associated other poeterring BS.
I don’t run Linux AT ALL.
Because a lot of Microsoft employees contribute to Linux in their spare time to keep their skills sharp. It says something about a platform when you’re free to work on other platforms.
Also, Microsoft released Azure Linux.
Tbh, there are lots of variety in linux if you don’t want systemd. Void in particular is really neat, been running it on one of my old 2017 xiaomi “air” notebook, i3 (back when lukesmith was a linux jesus). It’s amazingly stable for a rolling release, and very light compared to my other arch systems.
I’ve been doing this stuff for 30 years. The helpful blog post that took 8 pages of text to explain how to schedule a job just made me angry.
I think I am finally into greybeard territory even though my beard made the change a few years ago. Damn.
Why did it make you angry? Do you believe that there are other implementations that do the task better and simpler?
Do you believe that there are other implementations that do the task better and simpler?
All of 'em. If a joke took 8 pages to explain, it wouldn’t be funny either. Lennart’s cancer can go, thanks.
I was mostly kidding. But the little bit that bothered me was the idea that ‘it is so simple here are 8 pages to barely scratch the surface.’
cron works fine for me. And if I ever have to work in an environment where I can’t use cron and systemd is available, then of course I will use it. Thus far that has never been the case.
where I can’t use cron and systemd is available, then of course I will use it
I argue for a 5% cost-of-living adjustment for bad software, and I make sure it’s a separate line item so they know it goes away when systemd goes.
Yeah, I think it’s just the way the blog post was written. When I was reading it I saw the first few paragraphs was basically “here’s how to do Cron with it”, and then everything after that was “here’s a bunch of other features it has that cron doesn’t and how to use those”
I don’t think that’s the wrong way to write this kind of article, but I could see it feeling overwhelming on a skim, because it may feel like you need to read the whole thing in order to get anything working. But actually only the start was necessary, and the rest was tasty feature pitch.
No, I’m pretty sure I love them just the right amount
Kinda agree; I’m surprised how often people use & recommend cron jobs even on systems that have been using systemd for a decade.
been using systemd
Nah. been used by.
Cron jobs are nice and simple to create. Until they go wrong then they are a pain in the ass. You need to manage logging yourself. If you forget you root mail will fill up your disk and crash the system. If you forget the mailto setting. If you remember it you justlose all logs and have no clue why something is not working. You need to redirect the output to a logfile yourself. And then risk filling up the disk with logs unless you remember to also set up logrotate. And you then still don’t know when something last ran or if it ran successfully.
So many traps and that is just the logging side of things.
[your] root mail will fill up your disk and crash the system
If your
~mail/rootis more than 0-length, you’re missing valuable information.My favourite - and I’ve gotten into arguments with people about this who clearly never just tried it to see what happens - is it never executes things with the shell you think it will.
So many people assume that just because their script says
at the top that cron is going to run it in bash. The reality is without ALSO settingSHELL=/bin/bashin the crontab file, you’re getting your system’s lowest-common-denominator shell (ash/dash/sh/whatever other gross abomination).So much time wasted debugging. And I’m generally pretty good at avoiding shell-specific syntax, I’ve seen the abominations of shell scripts some people write.
The one thing I do wish systemd timers offered is cron syntax backwards compatibility, rather than just its ISO8601-style time patterns. An every-5-minutes job that used to be
*/5 * * * *is nowOnCalendar=*-*-* *:0/5:0and I’m just not sure that syntax is universally an improvement.Other than a re-arrangement of the fields, what is the big difference? Harder for awk to work with?
yes and yes and yes, except:
Cron jobs are nice and simple to create.
So are systemd timers. Seriously. I understood this sort of argument in the years when systemd was relatively new, but nowadays … c’mon, it’s 2 config files in a very simple (the simplest form is just 2 headings with one variable definition each) and common format and (optionally) one command to reload the daemon.
Maybe adding a line to your list of cron jobs is slightly quicker, but you have none of the things systemd offers on top.
OK, tbf I don’t know how much (ana)cron provides. Cleaning up the process tree? Restart conditions? Avoiding service duplicates? Advanced starting & repeating like “5min after boot” or “only after this other service has succeeded”? Can it read abbreviations like ‘daily’ or does it all need to be in that cryptic cron syntax?
I understood this sort of argument in the years when systemd was relatively new,
The ageism creeps out of this one.
Its hard to argue that 2 config files both multiple lines long is simpler then a single line in an existing file. Adding a service to cron is just simpler. But adding all the extra bit you are going to want on top increases the things you need to learn to do and configure correctly.
IMO systemd timers are simpler to get right at a little bit more of an upfront cost to learning how they work. But cron is still simpler to just get something working without caring that much. I still find that ends up biting you in the longer term though though all the missing features you need to add manually on top of that one basic line you added.
This is one of the things that frustrate me about Debian based systems. I know most distributions ship with lots of different tools to do the same job and you pick the one you like. But with something as fundamental as system timers it just feels wrong to me - when I want to change the timing of something I first need to figure out is the cron job real, or just a stub referring to the systemd timer, or visa versa.
So for a while I had removed cron from all my systems and fully committed to timers. Now I’ve decided I don’t like systemd and gone fully the other way.
I know it’s not that bad, but that’s the way my brain works - and I can remember getting really screwed up with some early Ubuntu systems.
Yeah, it’s never fun having both a legacy and a new system at the same time
Same with sysv and systemd job files. That seems to be mostly cleaned up now but for a while it was a PITA.
Never heard of it
Never heard of it
It’s something coded up by a Microsoft employee. Or did he take his toys and move on again?
I like the article but I dislike the headline. :)
The headline puns made my day❤️
deleted by creator
Which is exactly the right amount.






