- 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:
execs the command. You need to ensure (by setting up supervision)
snooze runs again after that!
* if we woke due to a SIGALRM, the command is executed immediately as well
+* if we notice time moved backwards, recompute the time until the event
* if the event is in the future, recompute the time it takes, possibly
considering shifting of the system time or timezone changes
(timezone reload only tested on glibc)
snooze is in the public domain.
-To the extent possible under law,
-Christian Neukirchen <chneukirchen@gmail.com>
-has waived all copyright and related or
-neighboring rights to this work.
+To the extent possible under law, Leah Neukirchen <leah@vuxu.org>
+has waived all copyright and related or neighboring rights to this work.
http://creativecommons.org/publicdomain/zero/1.0/