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
2025
 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: