- due to supervision, no centralized daemon required
- filtering by ISO week and day of year
+Over systemd timers:
+- mnemonic syntax
+- less complexity for jobs, no need for a `<job>.timer` file distinct
+ from the `<job>.service` file,
+- can use a file timestamp to ensure minimum waiting time between two
+ runs, even across reboots
+- very robust with respect to external time changes
+- randomized delays
+- variable slack
+- ad-hoc usage possible, just run the program from command line
+
## Rosetta stone
* run five minutes after midnight, every day:
snooze: `-M5`
* run at 2:15pm on the first of every month:
cron: `15 14 1 * *`
- snooze: `-d1 -H2 -M15`
+ snooze: `-d1 -H14 -M15`
* run at 10 pm on weekdays:
cron: `0 22 * * 1-5`
snooze: `-w1-5 -H22`
* `-n`: dry-run, print the next 5 times the command would run.
* `-v`: verbose, print scheduled (and rescheduled) times.
* `-t`, `-T`: see below timefiles
-* `-R`: add between 0 and RANDDELAY seconds to the scheduled time.
+* `-R`: add between 0 and RANDDELAY seconds to the start of the scheduled time.
+* `-J`: add between 0 and JITTER seconds to scheduled execution time.
* `-s`: commands are executed even if they are SLACK (default: 60) seconds late.
-The durations RANDDELAY and SLACK and TIMEWAIT are parsed as seconds,
+The durations RANDDELAY and JITTER and SLACK and TIMEWAIT are parsed as seconds,
unless a postfix of `m` for minutes, `h` for hours, or `d` for days is used.
The remaining arguments are patterns for the time fields: