Skip to content

Puppet module to manage cron jobs via /etc/cron.d

License

Notifications You must be signed in to change notification settings

TiS/puppet-cron

This branch is 13 commits behind torrancew/puppet-cron:develop.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2962673 · Mar 8, 2014

History

89 Commits
Oct 7, 2013
Mar 8, 2014
Dec 19, 2013
Jun 14, 2013
Jun 20, 2013
Jun 20, 2013
Nov 17, 2012
Aug 28, 2013
Jul 4, 2013
Aug 28, 2013
Aug 28, 2013
Oct 7, 2013

Repository files navigation

Puppet Cron Module

Build Status:

  • master: master branch status
  • develop: develop branch status

Notes:

This module manages cronjobs by placing a file in /etc/cron.d. It defines the following types:

  • cron::job - basic job skeleton
  • cron::hourly - wrapper for hourly jobs
  • cron::daily - wrapper for daily jobs
  • cron::weekly - wrapper for weekly jobs
  • cron::monthly - wrapper for monthly jobs

Installation:

Install in your puppet master's modulepath as a directory named 'cron'.

This module can install cron if needed - simply

include cron

Usage:

The name of the job (quoted part after the opening '{' ) is completely arbitrary. However, there can only be one cron job by that name.

cron::job

cron::job creates generic jobs in /etc/cron.d. It allows specifying the following parameters:

  • ensure
  • minute
  • hour
  • date
  • month
  • weekday
  • user
  • command
  • environment

Example: This would run the command "mysqldump -u root mydb" as root at 2:40 AM every day:

cron::job{
  'mysqlbackup':
    minute      => '40',
    hour        => '2',
    date        => '*',
    month       => '*',
    weekday     => '*',
    user        => 'root',
    command     => 'mysqldump -u root mydb',
    environment => [ 'MAILTO=root', 'PATH="/usr/bin:/bin"' ];
}

cron::hourly

cron::hourly creates jobs in /etc/cron.d that run once per hour. It allows specifying the following parameters:

  • ensure
  • minute
  • user
  • command
  • environment

Example: This would run the command "mysqldump -u root mydb" as root on the 20th minute of every hour:

cron::hourly{
  'mysqlbackup_hourly':
    minute      => '20',
    user        => 'root',
    command     => 'mysqldump -u root mydb',
    environment => "MAILTO=root\nPATH='/usr/bin:/bin'";
}

cron::daily

cron::daily creates jobs in /etc/cron.d that run once per day. It allows specifying the following parameters:

  • ensure
  • minute
  • hour
  • user
  • command
  • environment

Example: This would run the command "mysqldump -u root mydb" as root at 2:40 AM every day, like the above generic example:

cron::daily{
  'mysqlbackup_daily':
    minute  => '40',
    hour    => '2',
    user    => 'root',
    command => 'mysqldump -u root mydb';
}

cron::weekly

cron::weekly creates jobs in /etc/cron.d that run once per week. It allows specifying the following parameters:

  • ensure
  • minute
  • hour
  • weekday
  • user
  • command
  • environment

Example: This would run the command "mysqldump -u root mydb" as root at 4:40 AM every Sunday, like the above generic example:

cron::weekly{
  'mysqlbackup_weekly':
    minute  => '40',
    hour    => '4',
    weekday => '0',
    user    => 'root',
    command => 'mysqldump -u root mydb';
}

cron::monthly

cron::monthly creates jobs in /etc/cron.d that run once per month. It allows specifying the following parameters:

  • ensure
  • minute
  • hour
  • date
  • user
  • command
  • environment

Example: This would run the command "mysqldump -u root mydb" as root at 3:40 AM the 1st of every month, like the above generic example:

cron::monthly{
  'mysqlbackup_monthly':
    minute  => '40',
    hour    => '3',
    date    => '1',
    user    => 'root',
    command => 'mysqldump -u root mydb';
}

Contributors:

  • Kevin Goess (@kgoess) - Environment variable support + fixes
  • Andy Shinn (@andyshinn) - RedHat derivatives package name fix
  • Chris Weyl (@RsrchBoy) - Fixed Puppet 3.2 deprecation warnings
  • Mathew Archibald (@mattyindustries) - Fixed file ownership issues
  • The Community - Continued improvement of this module via bugs and patches

TODO:

  • Add PuppetDoc markup to manifests
  • Add a Modulefile, upload to the Puppet Forge

About

Puppet module to manage cron jobs via /etc/cron.d

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Puppet 61.8%
  • Ruby 33.9%
  • HTML 4.3%