Es kommt leider immer mal wieder vor, dass ein automatisierter Prozess auf ein Problem stößt und daher seine Verarbeitung abbricht. Das ist meistens kein Problem, man schaut nach woran es gelegen hat, behebt das Problem und führt den Prozess erneut aus. In manchen Fällen nimmt ein Script aber bestimmte Vorarbeiten vor, die ein erneutes Ausführen behindern, z.B. könnte ein Script Snapshots erzeugen und Mounten. Versucht man dies ein zweites Mal, wird dies zu Fehlermeldungen führen. Nutzt ein Script dann z.B. set -e
1 um bei Fehlern die weitere Ausführung abzubrechen, haben wir ein Problem und müssen die abschließenden Arbeiten des Scripts einmal manuell ausführen. Das kann realtiv komplex werden, vor allem weil man solche - eigentlich automatisierten - Vorgänge ja meist nicht mehr so wirklich auf dem Schirm hat.
Immer wieder gibt es Prozesse die sehr lange dauern und die auf keinen Fall doppelt gestartet werden sollten. Vor vielen Jahren bin ich über eine Lösung für Lockfiles in Bash-Scripten gestolpert, die ich seitdem in fast jedem Script mit potenziell langer Laufzeit nutze.
Das Backuptool borg
1 habe ich hier ein wenig beschrieben. Nun soll es darum gehen mittels borg saubere Backups zu erstellen und auch sicherzustellen, diese jederzeit wiederherstellen zu können.
Häufig führt man Wartungsscripte aus und lässt sich den Status z.B. via Mail zustellen. Oft schleicht es sich dann irgendwann ein, dass man diese zwar zur Kenntnis nimmt, aber nicht mehr wirklich intensiv beachtet. Je nachdem, wie der Inhalt gestaltet ist, können hierbei Fehlermeldungen untergehen.
Daher mag ich es, wenn neben dem vollständigen Output der Aktionen eine Statuszusammenfassung enthalten ist, bei der man auf einen Blick erkennt, ob alle Teilschritte funktioniert haben.