Berkala runs scheduled tasks specified in a YAML-based configuration.
To get started, first download the binary for your operating system from the Releases page. Unpack the ZIP file and run the executable.
Since a config file does not exist yet, you will be offered to create one.
Simply accept it and
berkala.yml will be created, which may look like the following:
tasks: # Without an explicit interval, the task runs immediately boot: steps: - notify: Berkala starts now stay-hydrated: interval: every 1 hour steps: - notify: Drink some water! # TODO: how much? - print: Reminder was sent lunch: interval: at 11:58am steps: - notify: It's lunch time very soon title: Important - say: Get ready for lunch sign-of-life: interval: every 2 hours steps: - run: ping -c 7 google.com timeout-minutes: 2 weekend-exercise: cron: 0 9 * * 6 # every 9 morning on Saturday steps: - notify: Time for some exercises! title: Stay healthy
Just like any regular YAML, everything from the
# character until the end of the line will be ignored. Use this to insert comments.
The schedule for each task can be specified as:
If neither is explicitly stated, then the task runs right away.
Each task consists of one or more steps.
Every step must be one of the following:
run: executes a shell command
sign-of-life: interval: every 30 minutes steps: - run: ping -c 7 google.com
timeout-minutes can be used to limit the execution time and
working-directory can be used to set the directory to start the execution from.
sys-resource: interval: every 2 hours steps: - run: | date >> resources.log top | head -n 4 >> resources.log timeout-minutes: 3 working-directory: /var/log
print: displays a message to the standard output
morning: interval: at 7:00am steps: - print: Good morning!
notify: sends a desktop notification
title can be used to set the notification title.
mahlzeit: interval: at 11:58am steps: - notify: It's lunch time very soon title: Yummy
The notification is supported on the following system:
say: converts text to audible speech
vaya-con-dios: interval: 0 17 * * 1-5 # every workday late afternoon steps: - say: Time to go home
The text-to-speech conversion is supported on the following system:
Found a problem or have a new idea? File an issue!