## snooze: run a command at a particular time
-`snooze` is a new tool for to wait until a particular time and then
-run a command. Together with a service supervision system such as runit,
-this can be used to replace cron(8).
+`snooze` is a new tool for waiting until a particular time and then
+running a command. Together with a service supervision system such as
+runit, this can be used to replace cron(8).
-`lr` has been tested on Linux 4.2.
+`snooze` has been tested on Linux 4.2.
It will likely work on other Unix-like systems with C99.
## Benefits
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
- (possibly only works on glibc)
+ (timezone reload only tested on glibc)
* If no command was given, just return with status 0
* and so on...
actualjob >output 2>&1 ||
mail -s "$(hostname): snooze job failed with status $?" root <output
+Snooze for rate-limiting a general purpose runit service: don't
+restart faster than every two minutes. (Note that after a crash with a
+daemon runtime of more than two minutes, it will be restarted
+immediately):
+
+ set -e
+ snooze -H'*' -M'*' -S'*' -t timefile -T 2m
+ touch timefile
+ exec mydaemond
+
## Installation
Use `make all` to build, `make install` to install relative to `PREFIX`
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/