void-linux / void-linux/void-docs

Expand on emulating cron-like tasks with snooze

Open
#894 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
CSS
Stars
217
Forks
212
Avg merge
2d 21h
Merged PRs (30d)
1

Description

As an alternative to the standard cron implementations, you can use snooze(1) together with the snooze-hourly, snooze-daily, snooze-weekly and snooze-monthly services, which are provided by the snooze package for this purpose. Each of these services execute scripts in the respective /etc/cron.* directories. (ref)

After spending a while scrutinizing the manpage for snooze, I can see that it has a lot of useful functions (timefiles are awesome, rewrote those several times for my cron jobs). But I'm not quite sure how to emulate cron-like behavior with the listed tools, particularly at a granularity less-than hourly. Someone else was recently asking for clarification on snooze services in the IRC as well, which tells me I'm not the only one. (I can kinda get closer by reverse-engineering the snooze-${time}ly services...)

Given that many people who might be reading the cron page in the handbook may be quite new to void & runit services, I think there might be value in adding some croncrete concrete examples/explanation of runit-native scheduling. This might also help people who are trying to figure out the analog for systemd timers.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the cron page linked in the issue and read the snooze(1) manpage alongside the snooze-hourly, snooze-daily, snooze-weekly and snooze-monthly services. Document concrete runit-native examples for scheduling below hourly granularity and explain how they compare with systemd timers. Done means a newcomer can follow the examples without reverse-engineering the services.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
57/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.