How can I make my Mac (running the most recent OS) do a task automatically once a day? For example, I'd like to have it automatically download a copy of this open source algebraic geometry textbook once a day. I have a feeling that some combination of wget and cron should work, but, after googling and reading the cron documentation, I just couldn't get it to work right.

  • 2
    I suggest you don't use Crontab and instead learn to use Launchd as already suggested. Mar 2 '11 at 12:52

I think in OS X you should use launchctl for "cron jobs".
But otherwise your task should be easy to do with a cronjob
sudo crontab -e
55 23 * * * wget http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf

This should run everyday at 23:55


You should specify the output location of WGET with -O /path/to/file


The cron daemon can be activated by a simple:

sudo touch /private/etc/crontab

Then it's advisable to enter the full path of your /usr/local/bin/wget (or wherever it lives). Cron does not know of your user's $PATH. Hope it helps.


You may use Cronnix which is a free graphical interface for cron :


  • 1
    cronnix has been officially discontinued upstream. It may stop working correctly (or at all) in recent versions of macOS. Jan 8 '20 at 10:58

If you're finding the command line syntax (etc) too confusing/arcane, you might lok at GUI tool for viewing/editing/creating these jobs.

In the past I've used Lingon, which has been made available on the Mac App Store now too. I don't need to use it very often, but it's very useful when I do!


A more elegant solution (than cron) is to use iCal notifications + Applescript.

First, launch AppleScript Editor (located under /Application/Utilities) and paste the following code:

set the destination_file to ("~/Downloads/book.pdf")

set the contentLink to "http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf"

tell application "URL Access Scripting"
    download contentLink to destination_file replacing yes
end tell

Save the script and quit applescript editor.

Open your iCal and create a new event for today, setting the time you want, select "repeat: Every day" and as an alarm "Run script" and select your applescript.

If you want to notified for every download, you may add another alarm with a "Message with Sound", "on date".


I recommend Macaroni. Its advantage is that when you set a job to run once a day, it runs whenever your computer is on, regardless of the time. So you won't miss a job because the computer was off at the specified time.

Macaroni is a tool which handles regular maintenance for Mac OS X, including the Mac OS X repair privileges process as well as Unix-style maintenance. You could do this yourself, but don't you have more interesting things to do with your time?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .