Edit a user crontab safely

Over time a user crontab file can become a complex and vital part of a GNU/Linux system.

If, while editing a crontab file, any issues occur it could be lost and may not be easily recoverable.

Using the following procedure can help to avoid disaster:

Use the -l switch to list the current file and redirect this to a text file

crontab -l > current-crontab

Edit this text file. eg:

vim current-crontab

This text file is now a backup of the crontab for later reference.

The file will contain lines at the top containing a warning etc. These lines can be removed, or left to indicate an update history as they contain a date and time that the crontab was last updated:

 # DO NOT EDIT THIS FILE - edit the master and reinstall.
# (current-crontab installed on Sun Feb 25 09:53:24 2007)
# (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
MAILTO=xxx@xxx.xxx

# Perform backup at 2am every day
00 02 * * * /usr/local/bin/backup.sh

# Backup via Rsync the firefox bookmarks files
46 01 * * * /usr/local/bin/rsync-bookmarks.sh

Once the current-crontab text file has been edited we need to install this file as the new crontab. This is done as:

crontab current-crontab

To confirm the changes have been applied run the list option (-l) again:

crontab -l
Back to GNU/Linux Command Line Tips