cron resource
Use the cron
Chef InSpec audit resource to test the Crontab entries of a particular user on the system. You can also use this resource as an alias to the crontab
resource.
Availability
Install
This resource is distributed with Chef InSpec.
Parameters
user
(optional) This parameter tests the cron entries of a particular user. By default, it refers to the current user.
Properties
Table
The table
property checks whether a particular cron entry matches the specific regex.
its(:table) { should match /regex/ }
Syntax
A cron
resource block declares a user (which defaults to the current user).
describe cron do
its(:table) { should match /regex/ }
end
describe cron(user: "USER") do
it { should have_entry "5 * * * * /some/scheduled/task.sh" }
end
Examples
The following examples show how to use this audit resource.
Test to ensure crontab has a particular cron entry for the current user
describe cron do
it { should have_entry "5 * * * * /some/scheduled/task.sh" }
end
Test to ensure a user’s crontab has a particular cron entry
describe cron('MY_USER') do
it { should have_entry "5 * * * * /some/scheduled/task.sh" }
end
Test to verify if crontab has entries that run every 5 minutes
describe cron do
its(:table) { should match /^5/ }
end
Matchers
For a full list of the available matchers, please visit our matchers page.
it { should have_entry("5 * * * * /some/scheduled/task.sh") }