Do I need to refresh or restart anything after I add/update a crontab in Ubuntu Server 8.04?

Solution 1:

No. As long as you use the crontab -e command to edit the file, when you save it, you'll get a 'New Crontab Installed' message. That's it.

Solution 2:

The usual thing is to use crontab -e to edit the tables. The changes will be applied when you exit the editor. Otherwise the rules for re-reading changed crontabs are in the cron(8) man page. They will be re-read eventually, you don't need to do anything.


Solution 3:

It's important that you elaborate on HOW/WHERE you are adding crons. But I think the following addresses any situation.

Yes, cron needs to be made aware that you made changes, but no, you don't necessarily need to explicitly do anything to update it.

I'm paraphrasing the cron manual here for the short version:

As mentioned, crontab -e, the preferred method, will notify cron that something changed.

However, cron "wakes up" every minute to see if it has tasks for that minute. It also scans /var/spool/cron/crontabs and will reload any files with an updated 'mtime' (modified time, meaning the file contents must have been updated).

So theoretically, if you do nothing, cron will "wake up" and see you made changes to anything directly in /var/spool/cron/crontabs.

But if you can, use crontab -e. When you are done editing, it even gives you feedback that it was updated, it says:

    crontab: installing new crontab

Specifically, this means that it refreshed its copy in memory for the file you just edited via crontab.

Here's a quote from the manual CRON(8) :

    cron searches its spool area (/var/spool/cron/crontabs) for
    crontab files (which are named after accounts in /etc/passwd);
    crontabs found are loaded into memory.  Note that crontabs in this
    directory should not be accessed directly - the crontab command
    should be used to access and update them.