diff --git a/README.md b/README.md index 7896b19..9374b73 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,14 @@ A cron/at-like interface for systemd user timers. Create, manage, and monitor scheduled jobs without writing unit files by hand. +Because you want to use systemd, but miss the ease of ~crontab~`systab -e`! + +- 🚀 create one-time or recurring jobs with one command +- ✏️ use your $EDITOR to manage `systab` timers in a single line format +- 📊 quickly see the status of your timers +- 📋 access the logs of timers +- 💪 enable and disable timers +
![]() |
@@ -193,8 +201,17 @@ After cloning, enable the pre-commit hook (runs ShellCheck + tests):
git config core.hooksPath .githooks
```
+
## FAQ
+Why this wrapper?
+
+I was missing the simplicity of `at` and `crontab` commands. `systemd` has many features and benefits that those tools do not have, but convenience for the user to set a quick timer is not one of them.
+
**What's the difference between `-c` and `-f`?**
`-f` validates that the file exists and is executable at creation time, catching typos and permission issues early. With `-c`, errors only surface when systemd runs the job later (visible via `systab -L`). Under the hood, both produce the same `ExecStart` line.
+
+**Why did you mess with the crontab format?**
+
+Originally I meant to keep it the same, but there isn't a one-to-one mapping of times supported by cron and systemd. systemd has more options. I also want the human readble strings like "in 5 minutes". Trying to force that into the crontab format with it's space delimited format meant quotes, etc. in the end I used the `|` and limit the number of fields so that the commands can also be piped.