---
name: "crontab"
section: "1"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/crontab"
---

# crontab(1)

maintain crontab files for individual users (V3)

## NAME

**crontab** – maintain crontab files for individual users (V3)

## SYNOPSIS

**crontab** \[**-u** *user*\] *file*

**crontab** \[**-u** *user*\] { **-l** \| **-r** \[**-f**\] \| **-e** }

## DESCRIPTION

The **crontab** utility is the program used to install, deinstall or list the tables used to drive the [cron(8)](/cron/8.md) daemon in Vixie Cron. Each user can have their own crontab, and though these are files in */var/cron/tabs*, they are not intended to be edited directly.

If the *allow* file exists, then you must be listed therein in order to be allowed to use this command. If the *allow* file does not exist but the *deny* file does exist, then you must *not* be listed in the *deny* file in order to use this command. If neither of these files exists, then depending on site-dependent configuration parameters, only the super user will be allowed to use this command, or all users will be able to use this command. The format of these files is one username per line, with no leading or trailing whitespace. Lines of other formats will be ignored, and so can be used for comments.

The first form of this command is used to install a new crontab from some named file or standard input if the pseudo-filename ‘**-**’ is given.

The following options are available:

- **-u**

  Specify the name of the user whose crontab is to be tweaked. If this option is not given, **crontab** examines “your” crontab, i.e., the crontab of the person executing the command. Note that [su(1)](/su/1.md) can confuse **crontab** and that if you are running inside of [su(1)](/su/1.md) you should always use the **-u** option for safety's sake.

- **-l**

  Display the current crontab on standard output.

- **-r**

  Remove the current crontab. By default the **-r** option prompts for confirmation, adding the **-f** option will attempt to remove the current crontab without confirmation.

- **-e**

  Edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. The specified editor *must* edit the file in place; any editor that unlinks the file and recreates it cannot be used. After you exit from the editor, the modified crontab will be installed automatically.

## FILES

- */var/cron/allow*

  List of users allowed to use crontab

- */var/cron/deny*

  List of users prohibited from using crontab

- */var/cron/tabs*

  Directory for personal crontab files

## DIAGNOSTICS

A fairly informative usage message appears if you run it with a bad command line.

## SEE ALSO

[crontab(5)](/crontab/5.md), [cron(8)](/cron/8.md)

## STANDARDS

The **crontab** command conforms to IEEE Std 1003.2 (“POSIX.2”) with the exception that the dangerous variant of calling **crontab** without a file name in the first form of the command is not allowed by this implementation. The pseudo-filename ‘**-**’ must be specified to read from standard input. The new command syntax differs from previous versions of Vixie Cron, as well as from the classic SVR3 syntax.

## AUTHORS

Paul Vixie ⟨*paul@vix.com*⟩
