A lightweight program that provides cron type functions at the user level allowing simple reminders and daily schedules. Can also be used to run maintenance tasks at scheduled intervals.

Currently for OSX only as the routines needed to handle recovery upon the OS returning from sleep mode are implemented only for OSX.


Usage: schedule [-n] [-p] [-t] -f <file path>

Reads in a schedule file and performs one of three types of tasks:

  • -t: Display remaining schedule from now until midnight.
  • -n Run notification service that will execute the commands associated with the schedule at the applicable time.
  • -p Display a formatted list of all entries within the file.
Schedule File Format

The schedule configuration file provides both schedule and the commands to execute at those schedules.

Use // for comments (beginning of line only)

Use # to customize. Allowed values are:

#reminder [command] D|A|P Used to notify time for task. Must be executable from command line. Use %s to include Reminder Message in command

  • D = default
  • A = always
  • P = Private (Must be specified to run)

Format of entries:
Year Month DayOfMonth DayOfWeek (Sun=1) Hr Min Dur "Task" "Reminder Message" [defined cmd or command]


Defines two default command to execute if no other command provided. Each of these will execute for each schedule unless another command is indicated.

 #growl "growlnotify -s Reminder -m \"%s\"" D
 #say "say %s" D
 * * * 2 10 00 60 "Mons@10" "Every Monday at 10AM for 60 minutes"
 * * * 2,3,5,6 11 00 60 "List of Days" "Mon, Tues, Thurs, and Friday @ 11AM for 60 minutes"
 * * * 2-6 12 0 30 "Range" "Mon - Fri at Noon for 30 minutes"
Once only on a specific date and time.
 2012 3 4 * 7 0 5 "Specific Day" "Mar 4, 2012 at 7 AM for 5 minutes"
Provides command to execute and will not use the defaults.
 * * * * * 0-59 1 "Website Check" "Check website status" ""