Logrotate - Outer Heaven

Installation

Debian/Ubuntu

sh sudo apt-get install logrotate

Red Hat/CentOS

sudo yum install logrotate

Configuration

La configuration principale de logrotate se trouve dans le fichier /etc/logrotate.conf. Ce fichier inclut généralement d’autres fichiers de configuration situés dans le répertoire /etc/logrotate.d/.

Exemple de Configuration

Voici un exemple de configuration simple pour un fichier de log :

/var/log/myapp.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 0640 root adm
    sharedscripts
    postrotate
        /usr/bin/systemctl reload myapp.service > /dev/null 2>/dev/null || true
    endscript
}

Options de Configuration

  • daily : Effectue la rotation quotidiennement.
  • rotate 7 : Conserve 7 fichiers de logs rotatifs.
  • compress : Compresse les fichiers de logs après la rotation.
  • delaycompress : Retarde la compression jusqu’au prochain cycle de rotation.
  • missingok : Ignore les erreurs si le fichier de log est manquant.
  • notifempty : N’effectue pas la rotation si le fichier de log est vide.
  • create 0640 root adm : Crée un nouveau fichier de log avec les permissions spécifiées.
  • sharedscripts : Exécute les scripts postrotate une seule fois pour tous les fichiers de logs.
  • postrotate : Commande à exécuter après la rotation.

Exécution

logrotate est généralement exécuté par une tâche cron. Vous pouvez vérifier la configuration cron dans /etc/cron.daily/logrotate. Pour exécuter logrotate manuellement, vous pouvez utiliser la commande suivante : sudo logrotate /etc/logrotate.conf

Pour forcer la rotation, vous pouvez utiliser l’option -f : sudo logrotate -f /etc/logrotate.conf