Ask HN: How many of us here use cron jobs, and how do you version control them?

1 points by sankalp_sans ↗ HN
I'm that guy in my team who obsessively version controls everything. Every config, every byte of change on any system has to go through a version control.

For version controlling cron jobs scheduled on our "jobs servers", I wrote another job that dumps all the cron entries periodically to a git repo using `crontab -l > /path/to/backup; git commit; git push`

This seems a bit hacky, but it works. This one time, one of the people in our team did a `crontab -r` instead of a `crontab -e` and we could get back the entire set of cron entries within seconds, thanks to the periodic backups. Any better solutions that come to mind? Maybe something too obvious?

1 comment

[ 0.26 ms ] story [ 11.9 ms ] thread
Use systemd timers, and keep all of /etc in a repository. Or put all the cronjobs or systemd timers (or whatever) into a configuration management system, and check that into version control.