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 6.2.2

Installs cron

cookbook 'cron', '= 6.2.2', :supermarket
cookbook 'cron', '= 6.2.2'
knife supermarket install cron
knife supermarket download cron
Quality 83%

cron Cookbook

Build Status Cookbook Version

Installs the cron package and starts the crond service.

Note: Chef 14.4 shipped with the cron_d and cron_access (cron_manage) resources. When Chef 15.4 ships in Aug 2019 these resources will be removed from this cookbook as all users should be on Chef 14.4 or later.



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


  • cron_name - Set the name of the cron job. If this isn't specified we'll use the resource name.
  • 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.
  • comment - A comment to place in the cron.d file
  • mode - the octal mode of the generated crontab file. Defaults to 0600.


cron_d 'daily-usage-report' do
  minute  0
  hour    23
  command '/srv/app/scripts/daily_report'
  user    'appuser'
cron_d 'Setup the daily usage cron job' do
  cron_name 'daily-usage-report'
  minute  0
  hour    23
  command '/srv/app/scripts/daily_report'
  user    'appuser'


The cron_access resource can be used to manage the /etc/cron.allow and /etc/cron.deny files.

Note: This resource was previously a Chef definition cron_manage. The legacy name will still function, but should be updated.


  • :deny - Add the user to the cron.deny file (default).
  • :allow - Add the user to the cron.allow file.


  • user - username that you want to control. If not provided the resource name will be used as the user.


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

cron_access 'mike' do
  action :allow

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

cron_access "Make sure john can't touch cron" do
  user 'john'
  action :deny  #optional, deny is the default


This cookbook is maintained by Chef's Community Cookbook Engineering team. Our goal is to improve cookbook quality and to aid the community in contributing to cookbooks. To learn more about our team, process, and design goals see our team documentation. To learn more about contributing to cookbooks like this see our contributing documentation, or if you have general questions about this cookbook come chat with us in #cookbok-engineering on the Chef Community Slack


Copyright: 2010-2018, 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.

6.2.2 (2019-09-30)

  • Avoid deprecation warnings post Chef 14.4 - @tas50
  • Resolve cookstyle warnings - @tas50

6.2.1 (2018-09-04)

  • Added a note to the readme announcing the deprecation of the cron_d and cron_access resources in this cookbook. As both of these resources shipped in Chef 14.4 they will be deprecated when Chef 15.4 ships in Aug 2019.

6.2.0 (2018-07-24)

6.1.1 (2018-05-11)

  • Add missing type for cron_name property
  • Add specs for additional platforms
  • Faise with a better message on non-Linux platforms in the cron_d resource

6.1.0 (2018-05-11)

  • Converted chef_manage definition to a custom resource using the accumulator pattern. This will allow for reporting and notification from these resources as they are now real resources. The existing cron_manage name was changed to cron_access, but the existing name will continue to function.
  • Remove the file used with monolithic cron file hosts to fake cron.d. This was unused since 6.0 removed that functionality.

6.0.0 (2018-05-11)

  • The cron_d resource no longer provides crontab emulation on FreeBSD or Solaris. This is outside the scope of this resource and users on platforms without cron.d support should instead use Chef's build in cron resource which manages the monolithic cron config.
  • define pld linux package and service name used for cron
  • Simplify how we validate the predfined_value property to provide better error messages
  • Add a name_property if you want a more descriptive resource name
  • Make sure cron files are 0600 not 0644 for CIS compliance
  • Document the comment property in the readme
  • Create a single test suite to speed up testing

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

6.2.2 failed this metric

Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

6.2.2 passed this metric

Foodcritic Metric

6.2.2 passed this metric

No Binaries Metric

6.2.2 passed this metric

Testing File Metric

6.2.2 passed this metric

Version Tag Metric

6.2.2 passed this metric