bd71b8ee14a1856f1adaaaea198c8467b1a00d24
- Add error handling and rollback logic for unit file writes - Prevent partial file writes by removing created files on failure - Update tests to reflect new return type and error handling
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
.service
und.timer
Dateien per CLI - Unterstützt
--user
Timer (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
git clone https://git.0xmax42.io/maxp/systemd-timer.git
cd systemd-timer
deno task build
# Binary liegt nun unter ./systemd-timer
./systemd-timer --help
📦 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
Release v0.5.1
Latest
Languages
TypeScript
86%
Shell
14%