Schnipsel du jour: chronic

Diesen Beitrag schrieb ich 1 Jahr und 9 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 1 Minute

Mit chronic habe ich eine nützliche kleine Entdeckung für mich gemacht, die ich unbedingt mit euch teilen möchte.

Auf einem meiner Serverlein habe ich Backup per restic eingerichtet. Ohne weitere Konfiguration schickt der Cronjob pflichtgetreu jedes Mal eine E-Mail. Das ist unnötig, so lange alles gut läuft – aber über ein fehlgeschlagenes Backup würde ich natürlich gerne informiert werden. Ich war zu faul, das Ganze in einen Wrapper zu packen, und überlegte, ob das nicht auch irgendwie einfacher ginge.

Und an der Stelle kommt chronic ins Spiel – denn das ist genau das, wozu es gedacht ist.

chronic - runs a command quietly unless it fails

Unter Debian ist es im Paket moreutils enthalten.

apt install moreutils

Statt also in der crontab mit >/dev/null 2>&1 zu hantieren (was ich ohnehin nicht leiden kann) habe ich nun eine, die ungefähr so aussieht:

MAILTO="me@example.com"
RESTIC="/usr/bin/restic -r /path/to/resticrepo -p /path/to/.repo_password --verbose=2"

# m h  dom mon dow   command
1 */8 * * *   chronic $RESTIC backup /home/me /etc /root
47 2 * * 4    chronic $RESTIC forget --keep-last 12 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --prune
7 4 * * 0     chronic $RESTIC check

So lasse ich mir offen, an welcher Stelle ich es nutzen möchte und wo gegebenenfalls nicht. Die Jobs selbst können nun auf recht verbose geschaltet werden – denn ich erhalte ja nur dann Output, wenn etwas schief geht (AKA exit nonzero oder Crash). Dann erhalte ich aber auch einen hinreichend aussagekräftigen Output, mit dem ich direkt arbeiten kann! Mittels chronic -ve kann ich, wenn nötig, debuggen.

Perfekt für mich.

Manchmal sind es Kleinigkeiten 🙂

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: In mein Kaleidoskop hinein fotografiert, 1500x 1000px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Du nutzt etwas ähnliches, aber besser, magst die von mir eingesetzte Software nicht, findest das alles gänzlich überflüssig und würdest es sowieso ganz anders machen? Das ist wunderbar – du solltest unbedingt einen eigenen Artikel in deinem Blog dazu schreiben!

Habe ich jedoch etwas missverständlich formuliert, gar ganz ausgelassen oder mich vertippt?
Artikel in diesem Bereich kannst du überarbeiten und ergänzen!
→ Hier geht es zum öffentlichen Repository... ←

Eure Gedanken zu „Schnipsel du jour: chronic“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.