Is it bad to edit cron file manually?

28,911

Solution 1

If you modify the user file under crontabs, it should work. However, there are two issues to take into consideration:

  1. If you mistyped the cron entry in the file, you will not be warned as opposed to using crontab -e command.
  2. You can not edit your user file under crontabs directly without login as root or using sudo. You will get permission denied error.

Edit

One more point to add. When you edit the file directly, you may be warned by the text editor if you opened the file twice (two users accessing the same file). However, the cron list will be overwritten when using crontab -e from two different shell sessions of the same user. This is another difference.

Solution 2

If I understand correctly, you are editing the file manually with a text editor because you don't want to use crontab -e. I'll guess that's because it's using vi as the editor and you are unfamiliar with it.

You change crontab -e (and other things that need an editor) to use the more familiar nano editor by running

export EDITOR=nano

before

crontab -e

You can make nano the permament default editor by editing your ~/.bash_profile file to include export EDITOR=nano at the end.

To answer your question, you should not edit the file directly because it might be overwritten without you knowing it. The 4th line says what it says because it comes from the crontab that you are supposed to manually edit (it would say that as the first line).

Solution 3

export VISUAL=vi

This is the correct way to change editor for crontab.

Share:
28,911

Related videos on Youtube

Googlebot
Author by

Googlebot

intentionally left blank

Updated on September 18, 2022

Comments

  • Googlebot
    Googlebot about 1 year

    It is usually instructed to introduce new cron jobs through command lines; but I found it easier (with a better control of current cron tasks) to manually edit (in text editor) the user cron file like /var/spool/cron/crontabs/root.

    Is it dangerous to edit the file in text editor?

    The comments in the default file is confusing. The first line says

    # DO NOT EDIT THIS FILE - edit the master and reinstall.
    

    But the fourth line says

    # Edit this file to introduce tasks to be run by cron.
    
  • Googlebot
    Googlebot almost 12 years
    very subtle points! I never faced (knew) the second problem, as I always work as root.
  • Philip
    Philip almost 12 years
    Also, the "do not edit" in the default file is because an upgrade/reinstall may overwrite that file.
  • Googlebot
    Googlebot almost 12 years
    Thanks for descriptive reply. I am completely familiar with crontab command vi editor; but I use gedit (not in ssh terminal), as I directly connect to server from my linux desktop.
  • Adam F
    Adam F over 8 years
    You failed to mention that a user who edits the crontab directly loses the santax checking that crontab -e provides.
  • Khaled
    Khaled over 8 years
    @AdamF: This is what point 1 is talking about!
  • m3nda
    m3nda over 8 years
    I also recommend to add the export EDITOR command into your bashrc file to avoid being writting it each time you log into ssh.