Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.
share|improve this question
2  
Why not just put things under /etc/cron.d? –  Zoredache Jan 6 '12 at 16:50
    
It can be a good idea; but I did not mean which file to edit, I am comparing editing file by editor or running crontab command. –  All Jan 7 '12 at 3:19
add comment

3 Answers

up vote 16 down vote accepted

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.

share|improve this answer
    
very subtle points! I never faced (knew) the second problem, as I always work as root. –  All Jan 6 '12 at 14:56
3  
Also, the "do not edit" in the default file is because an upgrade/reinstall may overwrite that file. –  Chris S Jan 6 '12 at 14:58
add comment

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).

share|improve this answer
    
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. –  All Jan 7 '12 at 3:18
add comment
export VISUAL=vi

This is the correct way to change editor for crontab.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.