0.0
No commit activity in last 3 years
No release in over 3 years
Deploy Crontabs using an existing Cron Daemon
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 3.2.1
~> 0.1.3
~> 10.3.2
~> 1.5.1
 Project Readme

crontabinator

Repeatably install crontabs

This is a Capistrano 3.x plugin, and relies on SSH access with passwordless sudo rights.

Installation:

  • gem install crontabinator (Or add it to your Gemfile and bundle install.)
  • Add "require 'crontabinator'" to your Capfile echo "require 'crontabinator'" >> Capfile
  • Create example configs: cap crontabinator:write_example_configs
  • Turn them into real configs by removing the _example portions of their names, and adjusting their content to fit your needs. (Later when you upgrade to a newer version of crontabinator, you can crontabinator:write_example_configs again and diff your current configs against the new configs to see what you need to add.)
  • Add the role :cron to whatever servers you would like to have crons installed upon.
  • Ensure the scripts.d/ directory's files have 1 and only 1 line above your shebang line, in the form { :user => "root", :schedule => '* * * * *', :stages => [:production] }
  • Ensure the scripts.d/ directory's files get set executable (E.G. using deployinator's :webserver_executeable_dirs)

Usage:

cap -T will help remind you of the available commands, see this for more details.

  • After setting up your config files during installation, simply run: cap <stage> crontab:setup
  • Run cap <stage> crontab:status to see the status of the crontabs.
Debugging:
  • You can add the --trace option at the end of a command to see when which tasks are invoked, and when which task is actually executed.
TODO: