d9c9eda82386738bc48513ac001edff1748a7db6
systemd-timer
Ein einfaches CLI-Tool zum schnellen Erzeugen von systemd .service und .timer Units – als Ersatz oder moderne Ergänzung zu klassischen cron-Jobs.
🚀 Features
- Erzeugt
.serviceund.timerDateien per CLI - Unterstützt
--userTimer (für~/.config/systemd/user/) - Optionales Logging (
StandardOutput/StandardError) - Unterstützt:
--calendar--exec--after--environment--output--dry-run
- Getestet und typisiert mit Deno + Cliffy
🛠️ Installation
Du kannst systemd-timer direkt per Shell-Skript installieren:
curl -fsSL https://git.0xmax42.io/maxp/systemd-timer/raw/branch/main/scripts/install.sh | sh
Das Skript erkennt automatisch deine Plattform (Linux amd64 oder arm64) und installiert die passende Binary nach /usr/local/bin, sofern dies erlaubt ist (ggf. mit sudo).
Hinweis:
- Für die Installation ist eine funktionierende Internetverbindung notwendig.
- Die Integrität der Binary wird mittels SHA256-Prüfsumme verifiziert.
- Du kannst das Skript vor der Ausführung auch manuell inspizieren:
curl -fsSL https://git.0xmax42.io/maxp/systemd-timer/raw/branch/main/scripts/install.sh -o install.sh
less install.sh
Weitere Optionen und manuelle Installationswege findest du unter scripts/install.sh.
📦 Beispiel
./systemd-timer create \
--exec "/usr/local/bin/backup.sh" \
--calendar "Mon..Fri 02:00" \
--description "Backup Job" \
--user \
--logfile "/var/log/backup.log"
Erzeugt:
~/.config/systemd/user/backup.service~/.config/systemd/user/backup.timer
Anschließend aktivieren:
systemctl --user daemon-reload
systemctl --user enable --now backup.timer
🧪 Tests ausführen
deno task test
🧰 Entwickeln
deno task start create --exec "/bin/true" --calendar "daily" --dry-run
🔒 Rechte / Flags
Das Tool benötigt beim Ausführen bzw. Kompilieren:
--allow-env(für$HOME)--allow-write(zum Schreiben von.service/.timer)
Beim Entwickeln wird meist -A (allow all) verwendet.
📝 Lizenz
Releases
9
Release v0.5.1
Latest
Languages
TypeScript
86%
Shell
14%