Sha256: aa31d45e4b7e82abc0edd61424d76308ad8226becde6e38c6f1822525a0e0039

Contents?: true

Size: 1.47 KB

Versions: 3

Compression:

Stored size: 1.47 KB

Contents

---
title: About the crontab Resource
---

# crontab

Use the `crontab` InSpec audit resource to test the crontab entries for a particular user on the system.

## Syntax

A `crontab` resource block declares a user (which defaults to the current user, if not specified), and then the details to be tested, such as the schedule elements for each crontab entry or the commands itself:

    describe crontab do
      its('commands') { should include '/some/scheduled/task.sh' }
    end

## Matchers

This InSpec audit resource has the following matchers:

### be

<%= partial "/shared/matcher_be" %>

### cmp

<%= partial "/shared/matcher_cmp" %>

### eq

<%= partial "/shared/matcher_eq" %>

### include

<%= partial "/shared/matcher_include" %>

### match

<%= partial "/shared/matcher_match" %>

## Examples

The following examples show how to use this InSpec audit resource.

### Test that root's crontab has a particular command

    describe crontab('root') do
      its('commands') { should include '/path/to/some/script' }
    end

### Test that myuser's crontab entry for command '/home/myuser/build.sh' runs every minute

    describe crontab('myuser').commands('/home/myuser/build.sh') do
      its('hours') { should cmp '*' }
      its('minutes') { should cmp '*' }
    end

### Test that the logged-in user's crontab has no tasks set to run on every hour and every minute

    describe crontab.where({'hour' => '*', 'minute' => '*'}) do
      its('entries.length') { should cmp '0' }
    end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
inspec-1.16.1 docs/resources/crontab.md.erb
inspec-1.16.0 docs/resources/crontab.md.erb
inspec-1.15.0 docs/resources/crontab.md.erb