Scheduling your Synchronizations

Overview

iSynCal has its own scheduler, based on the crontab of the Mac OS X's BSD Unix core, to allow the user to schedule the automatic synchronization of any MultiSync documents.

You can select the MultiSync documents to schedule in the Schedule window, which may be opened by either clicking the Schedule toolbar button or selecting the Synchronization > Schedule menu item. Please note that this will not cause the current MultiSync document to be added to the scheduler, you have to select the document to schedule as described below.

To add a new schedule click the rounded button with a "+" sign and a sheet will popup to enter the schedule data, consisting in the path of the scheduled MultiSync document and the frequency and/or date/time of its execution. Moreover, a schedule must be "Active" (this is the default) to be executed at the specified time; when a schedule is not active it will be still listed in the Scheduler window but it will not be executed until it is reactivated.

To select the document to associate to the current schedule you can click the round button with a MultiSync document icon and a standard open panel will be opened to browse your disk and choose the document to be scheduled; alternatively, you may type the full document's path into the text field to add such a document to the current schedule either to modify its path.

An existing schedule can be edited by either selecting it and clicking the "E" button or double-clicking on it.

To delete a schedule select it and then click the rounded "–" button.

In the Scheduler window there are two more buttons, Open and Save: the former will cause the MultiSync document associated with the selected scheduled to be opened by iSynCal, while the Save button should be used to save the changes made to the schedules list (anyway, you will be warned if you try to close the Scheduler window and there are unsaved changes to any of the schedules).

The checkbox "Quit iSynCal after a scheduled synchronization is run", located in the iSynCal preferences window and active by default, is useful when you mainly use iSynCal to run some scheduled synchronizations, because it will cause iSynCal to be automatically quitted after the execution of a scheduled synchronization.

Please note that a schedule can be executed only when the user that scheduled his/her MultiSync documents is logged in at the schedule execution times on the Mac that should run the synchronizations, otherwise the scheduled MultiSync will not start and a warning error will be logged to the Console. If the user is logged in and a screen saver is running either Fast User Switching is enabled and another user is using the Mac or the Login window is showed (with Fast user switching enabled) when the schedule execution time arrives then the schedule will be properly executed. What's important, as specified above, is that the user which scheduled the synchronization is still logged in at the schedule execution time.

Specify when to execute a schedule

Schedules are executed when both the Hours and Minutes fields match the current time and at least one of the two "daily" fields (Days of month or Weekdays) matches the current day. The cron system process examines scheduled entries once per minute and runs those whose criteria match.

The date and time fields are:

Field Allowed values
Days of month 1-31
Weekdays 1-7 (1 is Monday, 7 is Sunday)
Hours 0-23
Minutes 0-59

 

Ranges of numbers are allowed. Ranges are two numbers separated with a hyphen. The specified range is inclusive. For example, 8-11 for an Hours entry specifies execution at hours 8, 9, 10 and 11.

Lists are allowed. A list is a set of numbers (or ranges) separated by commas. Some examples are: "1,3,5" in the Weekdays field, which specifies Monday, Wednesday and Friday, or "0-4,10,12,15-20" in the Hours field, which specifies execution at all hours from 0 to 4 included, at hour 10, at hour 12 and all hours from 15 to 20 included.

A field may be an asterisk (*), which always stands for "all values", from first to last. For example, an asterisk in the Weekdays field specifies all weekdays (like the range 1-7 would do if specified in this field).

Step values can be used in conjunction with ranges. Following a range with "/<number>" specifies skips of the number's value through the range. For example, "0-23/2" can be used in the Hours field to specify execution every other hour (the alternative in list format is "0,2,4,6,8,10,12,14,16,18,20,22"). Steps are also permitted (and very useful) after an asterisk, so if you want to say "every two days" just use "*/2" in the Days of month field.

In some cases you should also take care of the Minutes field, because even if you specify the correct values in the Days of month, Weekdays and Hours fields and then insert an asterisk in the Minutes field you will have a schedule running every minute during the specified days and hours, therefore it's better to leave the default "0" value in the Minutes field unless you want the schedule to repeat every n minutes: in such a case you should specify "*/n" in the Minutes field and an asterisk in all the other fields.

The Run MultiSync radio buttons group is the first control to use when choosing the time(s) at which the schedule should be executed. Remember anyway that the execution time(s) are uniquely based upon the combination of all values specified in the Days of month, Weekdays, Hours and Minutes fields.

Scheduling examples

Repeat every hour (Default schedule)

When you add a new schedule you can see that it has the following default values already set:

Field Values
Day (of month) *
Weekday *
Hour */1
Minute 0

 

Such a schedule will be executed every day (meaning both day of month and weekday, because an asterisk is specified in both fields) and will run every hour, because the value specified in the Hours field is "*/1", at the minute "0", because this is the value in the Minutes field.

Run during working days at 8:30, 14:30, 18:30

Field Values
Day (of month) *
Weekday 1-5
Hour 8,14,17
Minute 30

 

Such a schedule will be executed every working day because "1-5" is specified in the Weekdays field (meaning here from Monday to Friday included), at the hours 8, 14 and 17 at their 30th minute.

Run every 2 days with a frequency of 4 hours at minute "0"

Field Values
Day (of month) */2
Weekday *
Hour */4
Minute 0

 

Run on Tuesday and Thursday every 20 minutes

Field Values
Day (of month) *
Weekday 2,4
Hour *
Minute */20

 

Run every 4 hours at night and every 2 hours during the day, at 15th minute

Field Values
Day (of month) *
Weekday *
Hour 0-8/4,9-23/2
Minute 15