docs: add Englisch README
All checks were successful
Auto Changelog & Release / detect-version-change (push) Successful in 4s
Auto Changelog & Release / release (push) Has been skipped
Auto Changelog & Release / changelog-only (push) Successful in 6s

This commit is contained in:
2025-05-22 13:25:23 +02:00
parent d9c9eda823
commit cf483de06b
2 changed files with 140 additions and 34 deletions

103
README.DE.md Normal file
View File

@@ -0,0 +1,103 @@
# systemd-timer
![Project time](https://waka.0xmax42.io/api/badge/0XMax42/interval:today/project:systemd-timer?label=Project%20time)
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
Du kannst `systemd-timer` direkt per Shell-Skript installieren:
```bash
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:
```bash
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`](scripts/install.sh).
---
## 📦 Beispiel
```bash
./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:
```bash
systemctl --user daemon-reload
systemctl --user enable --now backup.timer
```
---
## 🧪 Tests ausführen
```bash
deno task test
```
---
## 🧰 Entwickeln
```bash
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](LICENSE)

View File

@@ -1,53 +1,55 @@
# systemd-timer # systemd-timer
![Project time](https://waka.0xmax42.io/api/badge/0XMax42/interval:today/project:systemd-timer?label=Project%20time) - ![Project time](https://waka.0xmax42.io/api/badge/0XMax42/interval\:today/project\:systemd-timer?label=Project%20time)
- [Deutsche Version dieser Readme](README.DE.md)
Ein einfaches CLI-Tool zum schnellen Erzeugen von systemd `.service` und `.timer` Units als Ersatz oder moderne Ergänzung zu klassischen `cron`-Jobs. A simple CLI tool for quickly generating systemd `.service` and `.timer` units as a replacement or modern supplement to classic `cron` jobs.
--- ---
## 🚀 Features ## 🚀 Features
- Erzeugt `.service` und `.timer` Dateien per CLI * Generates `.service` and `.timer` files via CLI
- Unterstützt `--user` Timer (für `~/.config/systemd/user/`) * Supports `--user` timers (for `~/.config/systemd/user/`)
- Optionales Logging (`StandardOutput/StandardError`) * Optional logging (`StandardOutput/StandardError`)
- Unterstützt: * Supports:
- `--calendar`
- `--exec` * `--calendar`
- `--after` * `--exec`
- `--environment` * `--after`
- `--output` * `--environment`
- `--dry-run` * `--output`
- Getestet und typisiert mit Deno + Cliffy * `--dry-run`
* Tested and typed with Deno + Cliffy
--- ---
## 🛠️ Installation ## 🛠️ Installation
You can install `systemd-timer` directly via shell script:
Du kannst `systemd-timer` direkt per Shell-Skript installieren:
```bash ```bash
curl -fsSL https://git.0xmax42.io/maxp/systemd-timer/raw/branch/main/scripts/install.sh | sh 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`). The script automatically detects your platform (Linux `amd64` or `arm64`) and installs the appropriate binary to `/usr/local/bin`, if permitted (possibly using `sudo`).
**Hinweis:** **Note:**
- Für die Installation ist eine funktionierende Internetverbindung notwendig.
- Die Integrität der Binary wird mittels SHA256-Prüfsumme verifiziert. * A working internet connection is required for installation.
- Du kannst das Skript vor der Ausführung auch manuell inspizieren: * The integrity of the binary is verified using a SHA256 checksum.
* You can manually inspect the script before execution:
```bash ```bash
curl -fsSL https://git.0xmax42.io/maxp/systemd-timer/raw/branch/main/scripts/install.sh -o install.sh curl -fsSL https://git.0xmax42.io/maxp/systemd-timer/raw/branch/main/scripts/install.sh -o install.sh
less install.sh less install.sh
``` ```
Weitere Optionen und manuelle Installationswege findest du unter [`scripts/install.sh`](scripts/install.sh). Additional options and manual installation methods are available under [`scripts/install.sh`](scripts/install.sh).
--- ---
## 📦 Beispiel ## 📦 Example
```bash ```bash
./systemd-timer create \ ./systemd-timer create \
@@ -58,11 +60,12 @@ Weitere Optionen und manuelle Installationswege findest du unter [`scripts/insta
--logfile "/var/log/backup.log" --logfile "/var/log/backup.log"
``` ```
Erzeugt: This creates:
- `~/.config/systemd/user/backup.service`
- `~/.config/systemd/user/backup.timer`
Anschließend aktivieren: * `~/.config/systemd/user/backup.service`
* `~/.config/systemd/user/backup.timer`
Activate afterwards:
```bash ```bash
systemctl --user daemon-reload systemctl --user daemon-reload
@@ -71,7 +74,7 @@ systemctl --user enable --now backup.timer
--- ---
## 🧪 Tests ausführen ## 🧪 Running Tests
```bash ```bash
deno task test deno task test
@@ -79,7 +82,7 @@ deno task test
--- ---
## 🧰 Entwickeln ## 🧰 Development
```bash ```bash
deno task start create --exec "/bin/true" --calendar "daily" --dry-run deno task start create --exec "/bin/true" --calendar "daily" --dry-run
@@ -87,17 +90,17 @@ deno task start create --exec "/bin/true" --calendar "daily" --dry-run
--- ---
## 🔒 Rechte / Flags ## 🔒 Permissions / Flags
Das Tool benötigt beim Ausführen bzw. Kompilieren: The tool requires the following permissions when running or compiling:
- `--allow-env` (für `$HOME`) * `--allow-env` (for `$HOME`)
- `--allow-write` (zum Schreiben von `.service`/`.timer`) * `--allow-write` (to write `.service`/`.timer` files)
Beim Entwickeln wird meist `-A` (allow all) verwendet. During development, usually `-A` (allow all) is used.
--- ---
## 📝 Lizenz ## 📝 License
[MIT License](LICENSE) [MIT License](LICENSE)