Imagine my crontab
* * * * * /usr/bin/date > /tmp/foo
I am writing the date to /tmp/foo every minute
$ cat /tmp/foo
Thu Jul 5 08:45:01 CEST 2012
Now I want to view my crontab in my EDITOR (vi).
$ crontab -e
I do not quit yet.
In the meantime, my colleague modify the crontab.
* * * * * /usr/bin/date > /tmp/bar
Later, I quit vi with :q!
O Surprise, the crontab is * * * * * /usr/bin/date > /tmp/foo again
According to the doc :
When you finish creating entries and exit the file, the crontab command
copies it into the /var/spool/cron/crontabs directory
Even if you did not make change, you overwrite the content of your crontab !
If you want to exit your crontab editor really without overwritting the crontab, you need to kill yourself.
Ex:
CTRL-Z
[2] + Stopped (SIGTSTP) crontab -e
$ kill %2
$
[2] + Stopped (SIGTTOU) crontab -e
Thanks to Colin comment, I realized I could not kill with kill, let’s kill with -9
$ kill -9 %2
$
[2] + Killed crontab -e
By: [author-name]
This article was syndicated via RSS from: http://laurentschneider.com/wordpress/2012/07/how-to-quit-crontab-e-without-overwritting-cron.html
