Ok, dies ist aus meiner Sicht ein sehr praktischer Anwendungsfall.
Angenommen, ich habe einen einfachen Shell-Oneliner, der die Ausgabe in einer Datei protokolliert. Dies kann einfach alles sein, zum Beispiel tcpdump. Gibt es eine generische und triviale Möglichkeit, um sicherzustellen, dass die Ausgabedatei die angegebene Größe nicht überschreitet?
Das Resoning dahinter soll verhindern, dass versehentlich der gesamte verfügbare Platz auf dem Montagepunkt ausgefüllt wird. Wenn ich das Skript vergesse oder es GBs Daten pro Stunde liefert, kann diese einfache Debugging-Aufgabe zu einem möglichen Systemabsturz führen.
Jetzt sind mir die Optionen bekannt, die in einigen Tools enthalten sind (wie die Kombination von -W / -C in tcpdump). Was ich brauche, ist eine sehr generische Ausfallsicherheit.
Lange Rede, kurzer Sinn - wenn ich ein Skript wie das folgende ausführe:
% this -is --my=very|awsome|script >> /var/tmp/output.log
So stellen Sie sicher, dass output.log niemals größer als 1 GB wird.
Skript kann abstürzen, getötet werden oder was auch immer.
Die von mir gesuchte Lösung sollte einfach und unkompliziert sein und nur Tools verwenden, die in gängigen Distributionen wie Ubuntu / Debian / Fedora verfügbar sind. Im Allgemeinen etwas weit verbreitetes. Kompliziertes, mehrzeiliges Programm ist hier unabhängig von Sprache / Technologie keine Option.