Sto provando a scrivere uno script Unix che troncherà/svuoterà un file che viene continuamente scritto/aperto da un'applicazione quando raggiunge 3 GB di spazio. So che il comando sotto lo farebbe:Script di shell Unix per troncare un file grande
cp /dev/null [filename]
Ma ho intenzione di eseguire questo in un ambiente di produzione automaticamente come un job cron - solo distacco qui per vedere se voi ragazzi che devono affrontare eventuali problemi mentre si fa qualcosa di simile a Questo.
Questi sono prod. i registri non hanno valore? Ho avuto la fortuna di conservare i registri di produzione per un anno + (in bzip2 -9 fmt) e ho avuto alcune piccole utility che hanno semplificato l'estrazione dei runtime dei processi, i record elaborati e quando è stato caricato in un foglio di calcolo è stato facile calcolare e calcolare i rapporti di caricamento e un sacco di cose. Abbiamo scoperto un problema di hdwr a causa del calo dei rapporti di carico. Sì, ci sono strumenti di monitoraggio adorabili là fuori, quindi tutto dipende dalla tua situazione. COME OPZIONE SEPARATA, hai guardato su 'logrotate', potrebbe darti qualche valore (ma essere noioso con l'impostazione (solo a indovinare)!). – shellter
Si noti che se il file di registro viene aperto con il flag O_APPEND, il troncamento diventa effettivo. Se non viene aperto con il flag O_APPEND, il programma continuerà a scrivere all'offset 3 GiB (la prima volta); il sistema tratterà i primi 3 GiB come all-byte-zero (che si comprime bene), ma il file continuerà a crescere. Tutto dipende dal programma che scrive il log. –
Possibile duplicato di [Come svuotare ("troncare") un file su linux che esiste già ed è protetto in qualche modo?] (Http://stackoverflow.com/questions/2423281/how-to-empty-truncate-a- file-on-linux-che-già-esiste-e-è-protetto-i) –