Files
oam/knowledge base/crontab.md

1.3 KiB

Crontab

  1. TL;DR
  2. Further readings
    1. Sources

TL;DR

Caution

Escape the % character if used in commands (e.g., in date's formatting), even if in quotes.
Cron interprets % as a newline. Everything after it is sent to the command's stdin, not as part of the command.

# List existing jobs.
crontab -l
sudo crontab -l -u 'jane'

# Edit crontab files.
crontab -e
sudo crontab -e -u 'mark'

# Replace the current crontab with the contents of a given file.
crontab 'path/to/file'
sudo crontab -u 'kelly' 'path/to/file'

# Validate crontab files.
crontab -T '/etc/cron.d/prometheus-backup'

# Remove all cron jobs.
crontab -r
sudo crontab -r -u 'nana'
# Run 'pwd' every day at 10PM.
0 22 * * * pwd

# Run 'ls' every 10 minutes.
*/10 * * * * ls

# Run a script at 02:34 every Friday.
# `%` needs escaping even in quotes
34 2 * * Fri /absolute/path/to/script.sh
35 3 * * FRI /absolute/path/to/script.sh > /absolute/path/to/script.$(date '+\%F').log

Further readings

Sources