User Tools

Site Tools


trigger:Cron

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
trigger:Cron [2017/09/04 02:56]
peternlewis created
trigger:Cron [2019/09/10 21:35]
peternlewis [Examples]
Line 1: Line 1:
-The *Cron trigger* lets you execute a macro periodically while you are logged in.+The *Cron trigger* ​(v8+) lets you execute a macro periodically while you are logged in.
  
-The [[https://​en.wikipedia.org/​wiki/​Cron|Cron]] ​format lets you specify when a trigger will fire based on the time of day and and day of month and week.+The Cron format lets you specify when a trigger will fire based on the time of day and and day of month and week.
  
 The times are set using 5 (or 6) space separated fields, representing the  The times are set using 5 (or 6) space separated fields, representing the 
Line 12: Line 12:
 * Optional year (2000-2099) * Optional year (2000-2099)
  
-Each field can be a single number, or it can be a range (eg "​3-7"​) or a set of numbers or ranges separated by commas (eg "​3,​5-7,​9"​). ​ Alternatively,​ the field can be "*" ​which matches all values. ​ You can also add "/" ​and a number after a range to match every N'th value (eg "​0-25/​5"​ will match every five minutes in the first half of the each hour)+Each field can be a single number, or it can be a range (eg "​3-7"​) or a set of numbers or ranges separated by commas (eg "​3,​5-7,​9"​). ​ Alternatively,​ the field can be `*which matches all values. ​ You can also add `/and a number after a range to match every N'th value (eg "​0-25/​5"​ will match every five minutes in the first half of the each hour).
- +
-The trigger will match when all fields match the current time (as each minute ticks over). ​ Exception: if either day of month or day of week is "​*"​ and the other isn't, then the trigger will match only the non-* field, otherwise the trigger will match when either field matches.+
  
 For the Day of Week and Month fields, you can use the first three letters of the English name (eg "​Jan"​ for January (1), or "​Sun"​ for Sunday (0)). For the Day of Week and Month fields, you can use the first three letters of the English name (eg "​Jan"​ for January (1), or "​Sun"​ for Sunday (0)).
  
-If the number is negative, it matches from the end of the range (eg -1 in day of the month means the last day of the month).+If the field starts with a minus sign (-), it matches from the end of the range (eg -1 in day of the month means the last day of the month)
 + 
 +The trigger will match when all fields match the current time (as each minute ticks over). ​ Exception: if either day of month or day of week is `*` and the other isn't, then the trigger will match only the non-`*` field, otherwise the trigger will match when **either** field matches.
  
 If you start the day of the month field with a "​+",​ then the trigger will match only if both the day of the week and day of the month field matches. ​ This allows you to match the last Friday of the month using "​-1-7"​ for the day of the month, and "​+Fri"​ for the day of the week. If you start the day of the month field with a "​+",​ then the trigger will match only if both the day of the week and day of the month field matches. ​ This allows you to match the last Friday of the month using "​-1-7"​ for the day of the month, and "​+Fri"​ for the day of the week.
  
 +Alternatively,​ the entire field can be one of:
 +
 +* `@yearly` or `annually` — same as `0 0 1 1 *` (midnight at the start of January 1st each year).
 +* `@monthly ` — same as `0 0 1 * *` (midnight at the start of the 1st of each month).
 +* `@weekly ` — same as `0 0 * * 0` (midnight at the start of the each Sunday).
 +* `@daily ` or `@midnight` — same as `0 0 * * *` (midnight at the start of the each day).
 +* `@noon ` — same as `0 12 * * *` (noon in the middle of the each day).
 +* `@hourly ` — same as `0 * * * *` (at the start of each hour).
 +
 +The [[token:​TriggerValue|%TriggerValue%]] token will hold the current time and date (`yyyy-mm-dd hh:mm`).
 +
 +Remember that your Mac **must** be awake for any trigger to run, and that if the screen is sleeping, locked, or screen saving, then UI actions generally will not work.
 +
 +===== Examples =====
 +
 +* `1 0 * * *` — triggers at one minute past midnight each day.
 +* `45 23 * * 6` — triggers at 23:45 (15 minutes before midnight) near the end of each Saturday.
 +* `0 12 * * Mon` — triggers at noon each Monday.
 +* `0 18 * * Fri` — triggers at 6pm each Friday.
 +* `0 9,12,18 * * *` — triggers at 9am, 12am and 3pm each day.
 +* `* * * * 1-5` — triggers at every minute on workdays.
 +* `*/15 * * * *` — triggers at every quarter hour.
 +* `0 18-23,0-8 * * *` — triggers at every hour outside office hours.
 +* `0 12 1 Apr *` — triggers at noon on April 1st.
 +* `30 8 17 Apr * 2019` — triggers at 8:30 on 17 April, 2019.
 +* `0 12 15 * *` — triggers at noon the 15th of each month.
 +* `0 12 15 * Mon` — triggers at noon each Monday and the 15th of each month.
 +* `0 12 15 * +Mon` — triggers at noon each 15th of each month if it is a Monday.
 +* `0-59/5 * * * *` — triggers every five minutes (at :00, :05, :10, etc).
 +* `3-59/5 * * * *` — triggers every five minutes (at :03, :08, :13, etc).
 ===== See Also ===== ===== See Also =====
 +
 +* [[https://​en.wikipedia.org/​wiki/​Cron|Cron]] format. ​ None of the Non-standard characters are supported except the slash (/).
 +* [[https://​healthchecks.io/​docs/​cron/​|HealthChecks.io examples]].
  
 === Triggers === === Triggers ===
  
 * [[Periodic|Periodic]] trigger * [[Periodic|Periodic]] trigger
-* [[Time]] trigger+* [[Time ​of Day]] trigger 
 +* [[Idle]] trigger
 * [[/​Triggers|All Triggers]] * [[/​Triggers|All Triggers]]
trigger/Cron.txt · Last modified: 2021/11/24 01:45 by peternlewis