| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- [#exec-cron]
- = Execute on schedule (cron)
- OliveTin can execute actions on a schedule, and uses a cron format for configuration.
- [source,yaml]
- .`config.yaml`
- ----
- actions:
- - title: Say hello
- shell: echo "Hello!"
- execOnCron:
- - "@hourly"
- - title: Say goodbye
- shell: echo "Say Goodbye"
- execOnCron:
- - "*/5 * * * *" # Every 5 minutes
- ----
- This is a fantastic website: https://cron.help/
- == Support for seconds in cron
- The default cron format for OliveTin supports the Unix/Linux format - 5 fields, with no support for seconds. This is by far the most popular format that most people are used to.
- If you need per-second resolution for your actions, this can be enabled in your config - meaning that your cronlines will support 6 columns. The first "new" column is seconds. For example, to execute `date` every 5 seconds;
- [source,yaml]
- .`config.yaml`
- ----
- cronSupportForSeconds: true
- actions:
- title: Execute every 5 seconds
- shell: date
- execOnCron:
- - "*/5 * * * * *"
- ----
- == Cron and ACLs
- If you have enabled ACL, cron tasks are run as the user `cron`, which means that your ACL needs to allow the cron user to execute the action. This is one possibilty:
- [source,yaml]
- .`config.yaml`
- ----
- accessControlLists:
- - name: "cron"
- matchUsernames:
- - cron
- permissions:
- exec: true
- actions:
- - title: Say hello
- shell: echo "Hello!"
- execOnCron:
- - "@hourly"
- acls:
- - "cron"
- ----
|