Domanda

C'è un modo per ottenere logrotate solo ai file comprimere modificato un numero X di giorni fa (per esempio mtime +2)

È stato utile?

Soluzione

Si può usare delaycompress aspettare un ciclo di più. In pratica se si ruota al giorno, allora manterrà ieri registra non compresso.

Oltre a questo si potrebbe provare a non usare logrotate per comprimere i file e scrivere uno script bash per correre come una volta al giorno e comprimere tutti i file più vecchi di una certa data.

Ecco un tutorial per bash che io personalmente come: http://www.linuxconfig.org/Bash_scripting_Tutorial

Altri suggerimenti

Una possibilità potrebbe essere quella di utilizzare logrotate per ruotare ad una diversa estensione, quindi utilizzare logrotate per ruotare in file compressi:

/var/log/raw.log {
  daily
  nocompress
  extension .old
  }

/var/log/*.old {
  daily
  compress
  delaycompress
  rotate 10
  }

Questo aggeggio di Rube Goldberg comporterà la seguente:

raw.log
raw.log.old
raw.log.old.1
raw.log.old.2.gz
raw.log.old.3.gz

In questo modo si hanno due giorni archiviate dei tronchi che sono non compresso.

Puoi fare qualcosa di simile a quanto segue?

/var/log/access.log {
    daily
    nocompress
}

/var/log/access.7.log {
     daily
     compress
}

Credo che vi darà qualcosa di simile

access.log
access.1.log
access.2.log
access.3.log    
access.4.log
access.5.log
access.6.log
access.7.log.gz
access.8.log.gz
access.log
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top