2012-11-15 12 views
5

Sto provando a scrivere uno script che rinominerà e archivierà i file di registro ma non riesco a capirlo. Ecco un esempio di come dovrebbe funzionare: se si ha un file denominato error_log e si esegue lo script per la prima volta, è necessario rinominare il file error_log su error_log.1 e quindi archiviare error_log.1 con gzip. La seconda volta che esegui lo script avrai due file: error_log e error_log.1.gz, ora devi rinominare error_log.1.gz in error_log.2.gz; error_log a error_log.1 e ancora una volta archivio error_log.1 a error_log.1.gz con gzip.Script di Bash per l'archiviazione dei file di registro

risposta

7

Quello che stai cercando si chiama logrotate, è un comando di base Unix di amministrazione per ruotare i registri come desideri.

Vedi man 8 logrotate

Esempio di un semplice file di configurazione:

/var/log/apache/error_log { 
     daily 
     rotate 90  # keep only 90 logs 
     copytruncate # don't stop apps, but copy log 
     compress  # gzip log in *.gz 
} 
Problemi correlati