Ok, questo è un caso d'uso molto pratico dal mio punto di vista.
Supponiamo che io abbia un semplice oneliner di shell che registra l'output in un file. Questo può essere semplicemente qualsiasi cosa, ad esempio tcpdump. Esiste un modo generico e banale, per essere sicuri, che il file di output non superi le dimensioni indicate?
Risuonare dietro questo, è proteggere dal riempimento dell'intero spazio disponibile sul punto di montaggio per errore. Se dimentico lo script, o produrrà GB di dati all'ora, questa semplice attività di debug può portare a un potenziale arresto anomalo del sistema.
Ora sono a conoscenza delle opzioni integrate in alcuni strumenti (come la combinazione di -W / -C in tcpdump). Quello di cui ho bisogno è un fail-safe molto generico.
Per farla breve: quando eseguo una sceneggiatura come:
% this -is --my=very|awsome|script >> /var/tmp/output.log
Come assicurarsi che output.log non diventerà mai più grande di 1 GB.
Lo script può andare in crash, essere ucciso o altro.
La soluzione che sto cercando dovrebbe essere facile e semplice, usando solo gli strumenti disponibili nelle distribuzioni popolari come Ubuntu / Debian / Fedora. In generale qualcosa di ampiamente disponibile. Il programma multilinea complicato non è un'opzione qui indipendentemente dal linguaggio / dalla tecnologia.