Хорошо, это очень практичный вариант использования с моей точки зрения.
Допустим, у меня есть несколько простых оболочек, которые записывают вывод в файл. Это может быть что угодно, например, tcpdump. Есть ли общий и тривиальный способ убедиться, что выходной файл не будет превышать заданный размер?
Резонируя за этим, стоит защитить от заполнения всего доступного пространства в точке монтирования по ошибке. Если я забуду о сценарии или он будет выдавать ГБ данных в час, то эта простая задача отладки может привести к потенциальному сбою системы.
Теперь я знаю об опциях, встроенных в некоторые инструменты (например, сочетание -W / -C в tcpdump). Что мне нужно, это очень общий отказоустойчивый.
Короче говоря, когда я запускаю такой скрипт, как:
% this -is --my=very|awsome|script >> /var/tmp/output.log
Как убедиться, что output.log никогда не будет больше 1 ГБ.
Скрипт может рухнуть, быть убитым или чем-то еще
Решение, которое я ищу, должно быть легким и простым, с использованием только инструментов, доступных в популярных дистрибутивах, таких как ubuntu / debian / fedora. В общем, что-то широко доступное. Сложная, многострочная программа здесь не вариант, независимо от языка / технологии.