And that’s why I added a crontab entry that periodically purges my cron configuration. That way, I’m forced to readd only the truly necessary cron jobs, successfully reducing the amount of crontab entries.
At first I thought you missed the -r. Then I checked. Defaulting to STDIN here is very, very dumb, IMHO. Almost as bad as putting the “edit” flag right next to the “delete everything without confirmation” flag on a Western keyboard (-e vs -r).
My current project has a crontab with 216 entries.
Well, here’s a sentence I haven’t been tempted to use before:
“I believe that may be too many crontab entries.”
Any problem in server administration can be solved with an additional crontab entry. Except for the problem of too many crontab entries.
And that’s why I added a crontab entry that periodically purges my cron configuration. That way, I’m forced to readd only the truly necessary cron jobs, successfully reducing the amount of crontab entries.
just randomly delete 50 of them.
Yes. The strongest crontab entries will probably restore themselves. (For anyone reading along, this is sarcasm. Don’t do this.)
a crontab can regenerate from bisection to form two whole crontabs
pshaw, just drop in there and combine a few
/etc/cron.d/first25 /etc/cron.d/second25 …
This is the way. Exactly what we did + migrated 80% of everything to k8s cronjobs and Argo workflows
Use SystemD timers, you animal
At some point it may be good to migrate to airflow or something similar.
It’s not the number of entries that makes it bad. It’s the fact that if you run
crontab
, they are gone…At first I thought you missed the
-r
. Then I checked. Defaulting to STDIN here is very, very dumb, IMHO. Almost as bad as putting the “edit” flag right next to the “delete everything without confirmation” flag on a Western keyboard (-e
vs-r
).Crontab is a really badly designed program that we just can’t fix because everybody depends on its WFTs for something.
That’s why there’s a crontab rule to load the crontab from a file. Cronception if you will.
Make the rule start a secondary cron system. Otherwise it won’t run after you erase the crontab.
Here you go:
with-lock-ex -q /path/to/lockfile sh -c ' while true; do crontab cronfile; sleep 60; done;'