Max P. 118e4e5a86 feat(workflows): add matrix build and SHA256 generation for releases
- Introduce matrix strategy for building and uploading binaries
  for multiple architectures (amd64, arm64).
- Generate SHA256 checksum files for release binaries.
- Upload both binaries and their corresponding SHA256 files
  as release assets for better integrity verification.
2025-05-22 10:20:07 +02:00
2025-05-21 03:09:40 +02:00
2025-05-21 09:20:54 +02:00

systemd-timer

Project time

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

MIT License

Description
A simple CLI tool for quickly generating systemd .service and .timer units — as a replacement or modern supplement to classic cron jobs.
Readme MIT 221 KiB
2025-06-15 16:52:14 +02:00
Languages
TypeScript 86%
Shell 14%