Old:Configurare un server Syslog su Debian: differenze tra le versioni

Riga 72: Riga 72:
</pre>
</pre>
Si possono notare i files di log attualmente in uso ('''access.log''' e '''error.log'''), i files di log del giorno precedente ('''access.log.1''' e '''error.log.1''') e i files dei giorni ancora precedenti, che di default vengono compressi e conservati per cinque settimane.
Si possono notare i files di log attualmente in uso ('''access.log''' e '''error.log'''), i files di log del giorno precedente ('''access.log.1''' e '''error.log.1''') e i files dei giorni ancora precedenti, che di default vengono compressi e conservati per cinque settimane.
Logrotate può essere schedulato utilizzando <cron>. La directory '''/etc/cron.daily''' contiene infatti gli script che vengono eseguiti automaticamente ogni giorno dal sistema. Qui si può trovare lo script di logrotate. Ogni giorno questo script, al momento dell'esecuzione, esamina due cose:
 
# il file di configurazione <tt>/etc/logrotate.conf</tt>
Logrotate files can be scheduled using cron.In /etc we have one folder called
# la directory di configurazione <tt>/etc/logrotate.d</tt>
 
Questa directory contiene i files di configurzione per i servizi installati sul server. Per esempio sul server esaminato in precedenza troveremo il file <tt>/etc/logrotate.d/apache2</tt>.<br/>
/etc/cron.daily which contains scripts which are executed once per day. Here you will find the logrotate driver script.
Un tipico file di configurazione di logrotate è simile a questo:
 
<pre>
Every day this script runs and examines two things:
 
    * The configuration file /etc/logrotate.conf
    * The configuration directory /etc/logrotate.d
 
 
This directory contains configuration files which other packages have installed. For example if you install apache2 the file /etc/logrotate.d/apache2 will be installed.
 
Many servers such as Postfix the mailserver will install their own configuration file, and you can add your own.
 
A typical logrotate configuration file looks like this:
 
 
/var/log/apache2/*.log {
/var/log/apache2/*.log {
         weekly
         weekly
         missingok
         missingok
         rotate 52
         rotate 52
         compress
         compress
         delaycompress
         delaycompress
         notifempty
         notifempty
         create 640 root adm
         create 640 root adm
         sharedscripts
         sharedscripts
         postrotate
         postrotate
                 if [ -f /var/run/apache.pid ]; then
                 if [ -f /var/run/apache.pid ]; then
                         /etc/init.d/apache restart > /dev/null
                         /etc/init.d/apache restart > /dev/null
                 fi
                 fi
         endscript
         endscript
}
}
 
</pre>
Analizziamolo nel dettaglio:
 
# <tt>/var/log/apache2/*.log</tt> indica i files che vengono interessati dal processo.
You can see several important things here. The most obvious is the list of files that will be matched by this configuration file:
# <tt>weekly</tt>: i files sono rotati ogni settimana. Alternativa: daily
 
# <tt>rotate nn</tt>: saranno conservati non più di nn files
# <tt>compress</tt>: i files saranno compressi con gzip. Alternativa: nocompress
 
# <tt>delaycompress</tt>: non comprime i log del giorno prima.
/var/log/apache2/*.log {
# <tt>notifempty</tt>: non esegue la rotazione se il file è vuoto. Alternativa: ifempty
 
# <tt>create xx user group</tt>:
...
 
}
 
After this we have a collection of configuration terms, a different one on each line. In the example above we have:
 
    * weekly
          o The files should be rotated every week. Opposite: daily
    * rotate nn
          o We should keep no more than nn files.
    * compress
          o Compress older files with gzip. Opposite: nocompress
    * delaycompress
          o Don't compress yesterdays files. Opposite: compress
    * notifempty
          o Don't do any rotation if the logfile is empty. Opposite: ifempty
    * create xx user group
           o If we have to create the new file give it the given mode, owner, and group.
           o If we have to create the new file give it the given mode, owner, and group.
     * sharedscripts
     * sharedscripts