perché dovremmo usare create e copytruncate insieme?


40

The Geek Stuff ne ha un esempio logrotate. copytruncatecopierà e troncerà il file di registro originale.

Allora perché dovremmo usare create? Il file di registro originale non è stato rimosso.

/tmp/output.log {
  size 1k
  copytruncate
  create
  compress
  compresscmd /bin/bzip2
  compressext .bz2
  rotate 4
  maxage 100
}

Un'altra domanda è a che serve maxage 100? La rotate 4direttiva eliminerà i vecchi file di registro dopo 4 rotazioni.


4
Sì, questo non ha senso e man logrotatelo dice anche: " copytruncate : [...] Quando viene utilizzata questa opzione, l'opzione di creazione non avrà alcun effetto, poiché il vecchio file di registro rimane in posizione."
Ulrich Schwarz,

1
maxage 100eliminerà i file ruotati quando superano i 100 giorni e il file corrente viene ruotato; anche quando 4esistono meno file ruotati.
Lutz Prechelt,

Risposte:


57

Questo è probabilmente un errore, si trova solo in un esempio in quel tutorial. Tutti gli altri esempi hanno copytruncatesenza l' createopzione. Anche la logrotate pagina man afferma che sarà effettivamente ignorato :

copytruncate

Troncare il file di registro originale alla dimensione zero in atto dopo aver creato una copia, invece di spostare il vecchio file di registro e, facoltativamente, crearne uno nuovo. Può essere utilizzato quando ad alcuni programmi non è possibile dire di chiudere il suo file di registro e quindi potrebbe continuare a scrivere (aggiungendo) al file di registro precedente per sempre. Si noti che c'è un intervallo di tempo molto piccolo tra la copia del file e il suo troncamento, quindi alcuni dati di registrazione potrebbero andare persi. Quando viene utilizzata questa opzione, l'opzione di creazione non avrà alcun effetto, poiché il vecchio file di registro rimane in posizione.


Per quanto riguarda maxage, penso che possa essere utile, ad esempio, per i file di registro che possono essere vuoti per alcuni periodi di rotazione (giorni / settimane / mesi) - se si utilizza notifempty, il file di registro vuoto non verrà ruotato, quindi è possibile che siano ancora presenti file ruotati troppo vecchi .

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.