
On Thu, May 3, 2018 at 10:44 AM, Alex Beamish via talk <talk@gtalug.org> wrote:
I'm developing scripts that get run by crontab, so I'm in there making updates fairly regularly. I would love to be able to document the changes, so I'm wondering if there a usual and customary technique to version crontabs?
Ideally there would be some sort of hook around 'crontab -e', but failing that, I'd have the output of 'crontab -l' (run regularly by cron?) go to a versioned file. Plan B sounds a bit hokey to me.
I do this using git and SaltStack. Here is my Salt state for managing the root crontab. cron: service.running: - name: cron - enable: True root-crontab: file.managed: - name: /root/root-crontab - source: salt://cronjobs/root-crontab - template: jinja cmd.run: - name: cd /root; /usr/bin/crontab -r; /usr/bin/crontab root-crontab The file called root-crontab is under revision control. One of the things that is in root-crontab is first, updating the Salt states and second, invoking them. That could include updating the root-crontab. There are other ways of doing this in SaltStack. Regards, Clifford Ilkay +1 647-778-8696