13

I want to write a script that add a cron job to my crontab but without user intervention like editing a file using crontab -e. Is there a way to programatically manipulate the cron jobs from command line? Any suggestion on how to do that? Thanks in advance.

Ither
  • 233

2 Answers2

20

To install a crontab:

echo "1 1  * * *  test" | crontab -

should do the trick.

NOTICE that this substitutes the whole crontab. You have to save the value it had with crontab -l if you just want to add/edit things. For example

(crontab -l && echo "1 1  * * *  test") | crontab -

will add the line to your crontab.

Rmano
  • 32,167
0

How about the following:

crontab -l | some-editing-command | EDITOR=cat crontab -e

The first part of the pipe lists the current crontab, the second part is supposed to modify it in a sensible way, and the third part reinstalls it using cat as the "editor", as suggested by @muru.

krlmlr
  • 3,447