Elimina i file con logrotate


13

È possibile SOLO cancellare i file di registro in una directory usando logrotate senza ruotarli? Abbiamo un'app che genera registri nel seguente formato: app.log.DD_MM_YYYY. Non riesco con logrotate con la seguente configurazione:

/opt/log/app/app.log.* {
         rotate 0
         missingok
         nomail
}

Log rotate può fare questo o devo semplicemente scrivere uno script e inserirlo in cron?

Il migliore, -Iuliano


Se non hai bisogno di quei registri, perché non disabilitare la funzione di registrazione sulla tua app?
Deeh,

1
Mi dispiace ma non posso considerarlo una risposta Deeh. Per alimentare la tua curiosità, abbiamo bisogno di quei registri per diverse operazioni come il debug, non vogliamo semplicemente tenerli lì a marcire.
Iulian,

Risposte:


16

In tal caso, potresti voler usare postrotate. Nell'esempio seguente postrotate eliminerà i file più vecchi di 1 giorno dopo la rotazione dei registri, sentiti libero di modificarli in base alle tue esigenze.

/opt/log/app/app.log.* {
        missingok
        nomail
postrotate
        /usr/bin/find /opt/log/app/ -name "app.log.*" -type f -mtime +0 -exec rm {} \;
endscript
}

3

Lo scopo di logrotate è mantenere un numero personalizzato di file di registro su un intervallo di tempo personalizzato. Vorrei usare cron per il tuo compito. Maggiori informazioni su cosa puoi fare con logrotate qui: http://www.jamescoyle.net/cheat-sheets/676-logrotate-cheat-sheet


2
Si prega di non pubblicare risposte di soli collegamenti per impedire la putrefazione dei collegamenti. Invece, aggiungi le informazioni più rilevanti dal link alla tua risposta o, in alternativa, pubblica il link come commento anziché come risposta. Consulta questo articolo del Centro assistenza per ulteriori informazioni.
Sven
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.