Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


cron (76) Versions 5.1.0

Installs cron

cookbook 'cron', '= 5.1.0', :supermarket
cookbook 'cron', '= 5.1.0'
knife supermarket install cron
knife supermarket download cron
Quality 100%

cron Cookbook

Build Status Cookbook Version

Installs the cron package and starts the crond service.



  • RHEL family
  • Debian family
  • Solaris family
  • FreeBSD
  • SUSE family


  • Chef 12.7+


  • none



The cron_d custom resource can be used to manage files in /etc/cron.d. It supports the same interface as Chef's built-in cron resource:

Note: FreeBSD does not support cron.d functionality, so this cookbook emulates that functionality. cron fragments are created in /etc/cron.d, then they are concatenated together into /etc/crontab. FreeBSD puts some core OS functionality into /etc/crontab, so the original file is copied to /etc/crontab.os_source, and included in the concatenation.

Note: This resource does not function on Solaris platforms due to lack of support for /etc/cron.d. It's possible that the emulation method used in FreeBSD could be modified to work on Solaris as well given help from the community.


  • minute, hour, day, month, weekday - schedule your cron job. These correspond exactly to their equivalents in the crontab file. All default to "*".
  • predefined_value - schedule your cron job with one of the special predefined value instead of ** * pattern. This correspond to "@reboot", "@yearly", "@annually", "@monthly", "@weekly", "@daily", "@midnight" or "@hourly".
  • command - the command to run. Required.
  • user - the user to run as. Defaults to "root".
  • mailto, path, home, shell, random_delay - set the corresponding environment variables in the cron.d file. No default.
  • environment - a Hash containing additional arbitrary environment variables under which the cron job will be run (similar to the shell LWRP). No default.
  • mode - the octal mode of the generated crontab file. Defaults to 0644.


cron_d 'daily-usage-report' do
  minute  0
  hour    23
  command '/srv/app/scripts/daily_report'
  user    'appuser'



The cron_manage definition can be used to manage the /etc/cron.allow and /etc/cron.deny files. Include this cookbook as dependency to your cookbook and execute the definition as:


  • user - username that you want to control (optional).
  • action - :allow or :deny. :deny is the default.


The following will add the user mike to the /etc/cron.allow file:

cron_manage 'mike' do
  user 'mike'
  action :allow

The following will add the user john to the /etc/cron.deny file:

cron_manage 'john' do
  user 'john'  #optional, resource name will be used if not specified.
  action :deny  #optional, deny is the default

License & Authors

Copyright 2010-2016, Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

L7-mysql Applicable Versions
L7-redis Applicable Versions
aide Applicable Versions
alphard-cron Applicable Versions
auto-patch Applicable Versions
autopatch_ii Applicable Versions
backup Applicable Versions
backup_lwrp Applicable Versions
bamboo Applicable Versions
boxbilling Applicable Versions
cacti Applicable Versions
certbot Applicable Versions
chef-client Applicable Versions
chef-client 2.1.8
chef-client 2.1.10
chef-client 2.2.0
chef-client 2.2.2
chef-client 2.2.4
chef-client 3.0.0
chef-client 3.0.2
chef-client 3.0.4
chef-client 3.0.6
chef-client 3.1.0
chef-client 3.1.2
chef-client 3.2.0
chef-client 3.2.2
chef-client 3.3.0
chef-client 3.3.2
chef-client 3.3.3
chef-client 3.3.4
chef-client 3.3.6
chef-client 3.3.8
chef-client 3.4.0
chef-client 3.5.0
chef-client 3.5.2
chef-client 3.6.0
chef-client 3.7.0
chef-client 3.8.0
chef-client 3.8.1
chef-client 3.8.2
chef-client 3.9.0
chef-client 4.0.0
chef-client 4.1.0
chef-client 4.1.1
chef-client 4.2.0
chef-client 4.2.1
chef-client 4.2.2
chef-client 4.2.3
chef-client 4.2.4
chef-client 4.3.0
chef-client 4.3.1
chef-client 4.3.2
chef-client 4.3.3
chef-client 4.4.0
chef-client 4.5.0
chef-client 4.5.1
chef-client 4.5.2
chef-client 4.5.3
chef-client 4.5.4
chef-client 4.6.0
chef-client 5.0.0
chef-client 6.0.0
chef-client 7.0.0
chef-client 7.0.1
chef-client 7.0.2
chef-client 7.0.3
chef-client 7.1.0
chef-client 7.2.0
chef-client 7.2.1
chef-client 8.0.0
chef-client 8.0.1
chef-client 8.0.2
chef-client 8.1.0
chef-client 8.1.1
chef-client 8.1.2
chef-client 8.1.3
chef-client 8.1.4
chef-client 8.1.5
chef-client 8.1.6
chef-client 8.1.7
chef-client 8.1.8
chef-client 9.0.0
chef-client 9.0.1
chef-client 9.0.2
chef-client 9.0.3
chef-client 9.0.4
chef-client 9.0.5
chef-client 10.0.0
chef-client 10.0.1
chef-client 10.0.2
chef-client 10.0.3
chef-client 10.0.4
chef-client 10.0.5
chef-client 10.1.0
chef-client 10.1.2
chef-client 11.0.0
chef-client 11.0.1
chef-client 11.0.2
chef-client 11.0.3
chef-client 11.0.4
chef-client 11.0.5
chef-client 11.1.0
chef-client 11.1.1
chef-client 11.1.2
chef-client 11.1.3
chef-client 11.2.0
chef-client 11.3.0
chef-client 11.3.1
chef-client 11.3.2
chef-client 11.3.3
chef-client 11.3.4
chef-client 11.3.5
chef-client 11.3.6
chef-client 11.4.0
chef-client 11.5.0
chef-client 12.0.0
chef-client 12.0.1
chef-client 12.1.0
chef-client 12.2.0
chef-client 12.3.0
chef-client 12.3.1
chef-client 12.3.2
chef-client 12.3.3
chef-client 12.3.4
chef-server-backup Applicable Versions
chef-server-with-letsencrypt Applicable Versions
clamav Applicable Versions
cloudwatch_monitoring Applicable Versions
common_linux Applicable Versions
cronapt Applicable Versions
cronner Applicable Versions
ddnsupdate Applicable Versions
elasticsearch-curator Applicable Versions
elkstack Applicable Versions
etckeeper Applicable Versions
factorio Applicable Versions
faraday Applicable Versions
github-enterprise Applicable Versions
gmvault Applicable Versions
lemur Applicable Versions
linux_patching Applicable Versions
magento-ng Applicable Versions
magentostack Applicable Versions
mediawiki_backup Applicable Versions
minecraft-basic Applicable Versions
ntp_cluster Applicable Versions
ntpdate Applicable Versions
owncloud Applicable Versions
pgbarman Applicable Versions
postgresql_lwrp Applicable Versions
rage4dns Applicable Versions
rsyslog Applicable Versions
singularity Applicable Versions
stash Applicable Versions
subliminal Applicable Versions
system Applicable Versions
thumbor_ng Applicable Versions
zfs_linux Applicable Versions

cron Cookbook CHANGELOG

This file is used to list changes made in each version of the cron cookbook.

5.1.0 (2018-03-19)

  • Add support for Amazon Linux 2.0
  • Remove Chef 12 testing since Chef 12 goes EOL in just a few weeks
  • Test Amazon Linux / Ubuntu 18.04 and Chef 14
  • Remove ChefSpec matchers since these are autogenerated now. If this causes failurs then you need to update to the latest ChefDK release

5.0.1 (2017-11-16)

  • Remove the redundant name property in the cron_d resource

5.0.0 (2017-10-23)

  • Require Chef 12.7+ and remove compat_resource dependency
  • Improve the readme layout
  • Update Travis CI testing to test Chef 12/13 and also Debian 9

4.2.0 (2017-10-23)

  • Activate RANDOMDELAY in cron.d template
  • Add support and testing for SLES 11
  • Update and improve testing setup

4.1.3 (2017-06-01)

  • Converting integration testing to InSpec

4.1.2 (2017-05-30)

  • Remove class_eval usage
  • Require Chef 12.1 not 12.5 since we use compat_resource

4.1.1 (2017-04-11)

  • Ensure compatibility with Chef 12.5-12.6
  • chef-client 13 amazon linux fix

4.1.0 (2017-03-13)

  • Move files out of default dirs since only Chef 11 required that
  • Fix the namespacing and cookstyle violations in validators (Fixes #80)
  • Add compat_resource depends so that Chef 12.5 is really supported
  • Remove the hostname from templates
  • Rename the test cookbook to test
  • make env variables safe if they span lines

4.0.0 (2017-03-07)

  • Convert cron_d from a LWRP to a custom resource, which raises the requirement for chef-client to 12.5+
  • Fix failures on Suse and add it to the readme/metadata as a supported platform
  • Test with Local Delivery and not Rake

3.0.0 (2016-10-06)

  • Remove support for Arch and Gentoo as we lack the ability to test these platforms
  • Fix the installation of the core-os package on Solaris

2.0.0 (2016-09-15)

  • Update supported OS releases in the readme
  • Switch to kitchen-dokken and test on more platforms
  • Resolve foodcritic warnings
  • Split out unit testing in travis and use the rakefile with cookstyle
  • Require chef 12.1
  • Properly define the chefspec matcher
  • Use multipackage for installs

v1.7.6 (2016-03-23)

  • Cleanup the cron.d jobs with the non-santized filenames to prevent duplicate job jobs if cron < 1.7.4 was ever run on the node

v1.7.5 (2016-03-01)

  • Fixes '* is not valid value for validate_numeric' errors

v1.7.4 (2016-02-16)

  • Sanitize cron job names in the custom resource to replace '.' with '-'

v1.7.3 (2015-12-20)

  • Re-release to remove DS Store file that snuck in

v1.7.2 (2015-12-14)

  • Fixed the inability to delete a cron job without specifying the command. Expanded tests to cover this scenario and the create_if_missing action

v1.7.1 (2015-12-11)

  • #65 - Added action create_if_missing for cron jobs you want to create, but not modify later

v1.7.0 (2015-10-05)

  • Added Arch Linux support
  • Added FreeBSD support, which emulates /etc/cron.d folder support and builds a single /etc/crontab file using the contents of /etc/cron.d
  • Ensure that the cron package is installed on Debian based systems
  • Updated Kitchen CI to use new format and additional platforms
  • Added standard Rubocop config for Chef managed cookbooks and resolved all warnings
  • Added Travis CI testing for foodcritic, rubocop, and chefspec
  • Added Serverspec tests for Kitchen CI
  • Updated Berkfile to the latest format
  • Updated contributing and testing documentation
  • Updated Gemfile dependencies to the latest releases of testing gems
  • Removed pre-1.9 Ruby hash rocket syntax
  • Added and maintainers.toml files
  • Added cookbook version and Travis CI badges to the readme
  • Clarified that the minimum supported Chef release is 11.0
  • Added a Rakefile for easier testing
  • Added chefignore file to limit what files are uploaded to the Chef server
  • Added long_description to the metadata.rb file
  • Added source_url and issues_url to the metadata.rb file for Supermarket
  • Updated Chefspec for 4.X format

v1.6.1 (2014-10-15)

  • [#48] fix typo apry -> apr

v1.6.0 (2014-09-24)

  • [36] Add environment parameter to LWRP
  • [38] Allow user to specify file permissions

v1.5.0 (2014-09-15)

  • [#25] Fixes NameError exception on :delete
  • [#33] Updates README
  • [#40] Fixes local test-kitchen config
  • [#20] Implements a comment for cron_d provider

v1.4.3 (2014-09-09)

  • [#46] Fixes a broken case statement causing cron_d to fail

v1.4.2 (2014-09-08)

  • [#31] Fix up validate_month for Fixnums
  • [#32] Fix upvalidate_dow for Fixnums

v1.4.0 (2014-05-07)

  • [COOK-4628] Adding cron_manage to allow or deny users

v1.3.12 (2014-04-23)

  • [COOK-4550] - cron_d resource sometimes does not print the time in the cron output
  • PR #23 fix validate month and dow
  • Updating test harness, adding specs

v1.3.10 (2014-04-10)

  • [COOK-4507] - restore ability to use @ fields

v1.3.8 (2014-04-10)

  • [COOK-4544] fixing NameError exception on :delete action

v1.3.6 (2014-04-09)

  • [COOK-4337] fixing validations

v1.3.4 (2014-04-09)

  • Reverting [COOK-4337] - cron cookbook does no input validation

v1.3.2 (2014-03-27)

  • [COOK-4337] - cron cookbook does no input validation
  • [COOK-4229] - Support the Gentoo package

v1.3.0 (2014-02-25)

New Feature


  • COOK-3813 - Add metadata for recipes in the cron cookbook



  • COOK-3452 - Add support for raspbian platform




  • [COOK-3058]: simplify conditionals in cron recipe


  • [COOK1829] - cron_d LWRPtemplate should imply cron cookbook by default


  • [COOK-938] - don't default to upgrading cron and fix rhel6 package name
  • [COOK-1622] - add LWRP for cron.d files


  • [COOK-1514] - Cron cookbook manages wrong service name on SuSE


  • [COOK-1124] - add RHEL platform support

Collaborator Number Metric

5.1.0 passed this metric

Contributing File Metric

5.1.0 passed this metric

Foodcritic Metric

5.1.0 passed this metric

License Metric

5.1.0 passed this metric

No Binaries Metric

5.1.0 passed this metric

Testing File Metric

5.1.0 passed this metric

Version Tag Metric

5.1.0 passed this metric