[GTALUG] Crontab versioning

Alex Beamish talexb at gmail.com
Fri May 4 09:10:36 EDT 2018


On Fri, May 4, 2018 at 8:11 AM, Jamon Camisso via talk <talk at gtalug.org>
wrote:

> On 2018-05-03 10:44 AM, Alex Beamish via talk 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?
>
> What are you changing in crontabs so much that you need versioning?
>

I'm developing EDI scripts, and as development progresses, some of the
older scripts are being replaced by newer scripts. On occasion, there are
times when I need to disable a crontab job while I solve an issue.

Having version control would be a great back-stop, and would also be useful
from a historical point of view. (Why did I disable that job last Thursday?
Where did the such and such script go?)


> Shouldn't all the logic be in your scripts? Maybe I'm missing something,
> but it seems like needless complication to me.
>

What to do and how to do it is in the scripts. How often to do it is in the
crontab.


>
> > 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.
> If you do need to version things, you can just chuck a git repo under
> /var/spool/cron/crontabs and ignore any files there you don't want tracked.
>

Under my system, that directory is owned by root, and I prefer not to
version anything as root; the code I'm developing is application code, not
system code.

The solution I'm leaning towards is to have a shell script for updating the
crontab that would do something like
1. pushd $local_crontab_directory
2. crontab -e
3. crontab -l >crontab.$username
4. git diff crontab.$username

If there were changes revealed by the 'git diff', and if I felt they were
significant, I could do a git commit, followed by a popd.

Thanks for your questions -- they helped me clarify my understanding of the
problem and a possible solution.

-- 
Alex Beamish

Software Developer / https://ca.linkedin.com/in/alex-beamish-5111ba3
Speaker Wrangler, Toronto Perlmongers / http://to.pm.org/
Baritone, Board Member, Toronto Northern Lights, 2013 Champions /
www.northernlightschorus.com
Certified Contest Administrator, Barbershop Harmony Society /
www.barbershop.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gtalug.org/pipermail/talk/attachments/20180504/e03cdb6d/attachment.html>


More information about the talk mailing list