HTTPfy

Crontab Generator

Build crontab schedule strings for Linux.

Crontab Generator Ready

About Crontab Generator

Crontab Generator: Build a Cron Line Without Memorizing the Syntax

Cron runs commands on a schedule on Linux and other Unix-like systems. Each line in a crontab has five time fields followed by the command. This generator builds that line for you: pick a preset or "Custom", add your command, and choose what happens to the output.

The Five Fields

The fields are minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-6, where 0 is Sunday; most cron versions also accept 7 for Sunday). A * means "every". */15 means every 15th value, 1-5 is a range, and 1,15 is a list.

30 2 * * 1-5 /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

That line runs the backup script at 02:30 Monday to Friday and appends both normal output and errors to a log file.

Common Schedules

  • Every minute: * * * * * (the generator writes */1 * * * *, which means the same)
  • Every 5 minutes: */5 * * * *
  • Every 15 minutes: */15 * * * *
  • Every 30 minutes: */30 * * * *
  • Every hour, on the hour: 0 * * * *
  • Every 6 hours: 0 */6 * * *
  • Every day at midnight: 0 0 * * *
  • Every day at noon: 0 12 * * *
  • Every Monday at midnight: 0 0 * * 1
  • Every Sunday at midnight: 0 0 * * 0
  • First day of every month at midnight: 0 0 1 * *

Output Options

  • Mute: adds >/dev/null 2>&1 and discards all output.
  • Save to file: adds >> /path/to/output.log 2>&1. Replace the placeholder path with a real one your user can write to.
  • Email: pipes output to mail. The server needs a working mail command, and you need to replace the example address.

Installing the Job

  1. Run crontab -e to edit your user's crontab.
  2. Paste the generated line on its own line and save.
  3. Check it with crontab -l.

Gotchas

  • Cron runs with a short PATH, so use full paths to commands and scripts.
  • Cron uses the server's time zone. Check it with timedatectl or date.
  • A bare % in the command starts a new line of input. Escape it as \%, for example in date +\%F.
  • If you set both day of month and day of week, cron runs the job when either one matches.