Ok, z mojego punktu widzenia jest to bardzo praktyczny przypadek użycia.
Powiedzmy, że mam prosty oneliner powłoki, który rejestruje dane wyjściowe w pliku. Może to być po prostu wszystko, na przykład tcpdump. Czy istnieje jakiś ogólny i trywialny sposób, aby upewnić się, że plik wyjściowy nie przekroczy określonego rozmiaru?
Rezonowanie za tym polega na tym, aby przez pomyłkę zabezpieczyć przed zapełnieniem całej dostępnej przestrzeni w punkcie montażu. Jeśli zapomnę o skrypcie lub da on GB danych na godzinę, to proste zadanie debugowania może doprowadzić do potencjalnej awarii systemu.
Teraz jestem świadom opcji wbudowanych w niektóre z narzędzi (takich jak kombinacja -W / -C w tcpdump). Potrzebuję bardzo ogólnego zabezpieczenia przed awarią.
Krótka historia - kiedy uruchamiam skrypt taki jak:
% this -is --my=very|awsome|script >> /var/tmp/output.log
Jak upewnić się, że plik output.log nigdy nie będzie większy niż 1 GB.
Skrypt może ulec awarii, zostać zabity lub cokolwiek innego.
Rozwiązanie, którego szukam, powinno być łatwe i proste, używając tylko narzędzi dostępnych w popularnych dystrybucjach, takich jak ubuntu / debian / fedora. Ogólnie coś powszechnie dostępnego. Skomplikowany, wielowierszowy program nie jest tu opcją bez względu na język / technologię.