GNU/Linux >> Tutoriels Linux >  >> Linux

Gestion des journaux avec Logrotate sur Ubuntu

Les performances d'un ordinateur ou d'un serveur dépendent beaucoup de la mémoire système et de l'utilisation du disque. Si quelque chose consomme plus d'espace disque, cela entraînera une erreur système. De même, l'augmentation de la taille du fichier journal doit être contrôlée pour réduire ce risque.

Logrotate a été introduit en tant qu'utilitaire système qui effectue une rotation, compresse les fichiers journaux et envoie les journaux système par e-mail. Une telle gestion des fichiers journaux réduit l'utilisation de l'espace disque et évite les erreurs système.

Dans cet article, nous allons discuter du processus d'installation et de la configuration de logrotate sur le serveur Ubuntu 20.04 LTS.

Installation de Logrotate sur le serveur Ubuntu 20.04

Sur Ubuntu, logrotate est installé par défaut mais s'il n'est pas installé, vous pouvez l'installer avec la commande comme indiqué ci-dessous.

$ sudo apt update 
$ sudo apt install logrotate

Vous pouvez confirmer l'installation avec la commande comme indiqué ci-dessous.

$ logrotate --version

Les fichiers de configuration de Logrotate

Le fichier de configuration de logrotate est créé par le démon logrotate. Il existe deux chemins pour une telle configuration, comme indiqué ci-dessous.

/etc/logrotate.conf

Il s'agit du fichier de configuration généralement créé pour l'utilitaire logrotate

/etc/logrotate.d/

C'est le répertoire constitué par la rotation spécifique des applications. Par défaut, /etc/logrotate.conf est utilisé mais pour que chaque application ait une configuration différente, il peut être défini sur /etc/logrotate.d/.

Le fichier de configuration Logrotate par défaut

Comme vous le savez, /etc/logrotate.conf est le fichier de configuration par défaut. Vérifions le fichier de configuration comme indiqué sur la capture d'écran ci-dessous.

Vérifiez le fichier de configuration avec la commande comme indiqué ci-dessous.

$ cat /etc/logrotate.conf

Sortie :

Configuration pour une application spécifique

Sur la capture d'écran ci-dessus, il y a une configuration comme include /etc/logrotate.d ce qui signifie que la configuration d'applications spécifiques peut être définie sur ce répertoire. Ici, nous allons montrer la configuration de dpkg comme indiqué ci-dessous.

$ cd /etc/logrotate.d/
$ cat dpkg

Pour obtenir des détails sur chaque ligne de configuration, vérifiez les points abordés ci-dessous. Ces configurations remplaceront la configuration par défaut de /etc/logrotate.conf pour des applications spécifiques comme dpkg.

  • mensuel :Rotation une fois par mois. Vous pouvez le remplacer par quotidiennement, hebdomadairement selon vos besoins.
  • rotation 12 :douze anciens fichiers journaux seront conservés. Il remplace le 4 par défaut sur /etc/logrotate.conf
  • compresser :les fichiers journaux de cette application seront compressés à l'aide de gzip
  • delaycompress :la compression du fichier journal précédent au cycle de rotation suivant est reportée car il est encore utilisé par certains programmes.
  • missingok :n'écrivez aucun message d'erreur si le fichier journal est manquant
  • notifempty :ne pas faire pivoter le fichier journal s'il est vide
  • create 644 root root :le fichier journal est créé avec la permission 644, avec l'utilisateur et le groupe en tant que root

Création du fichier de configuration Logrotate

Disons que vous avez installé une application comme nginx et que son fichier journal est créé sur /var/log/nginx/ alors vous pouvez configurer un fichier de configuration logrotate pour cette application spécifique avec la commande comme indiqué ci-dessous.

Accédez au répertoire logrotate

$ cd /etc/logorate.d/

Créer un fichier logrotate avec l'éditeur

$ vim nginx

/var/log/nginx/*.log {
   daily
   missingok
   rotate 14
   compress
   delaycompress
   notifempty
   create 0640 www-data adm
   sharedscripts
   prerotate
   if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
      run-parts /etc/logrotate.d/httpd-prerotate; \
   fi \
   endscript
   postrotate
   invoke-rc.d nginx rotate >/dev/null 2>&1
   endscript
}

Dans la configuration ci-dessus, nous avons défini la rotation sur 14 afin que 14 anciens fichiers journaux soient conservés et que le fichier journal soit compressé à l'aide de gzip. Une autre configuration utilisée dans le fichier ci-dessus est presque expliquée dans la section du fichier de configuration logrotate. Vous pouvez exécuter la configuration nouvellement créée avec l'utilisateur privilégié sudo comme indiqué ci-dessous.

$ sudo logrotate -d /etc/logrotate.d/nginx

Ici, les fichiers journaux sont exécutés comme indiqué dans la capture d'écran ci-dessous.

Logrotate avec cron

Lors de l'installation du package logrotate, un fichier crontab est également créé sur le processus dans /etc/cron.daily avec le nom logrotate. Vérifiez la capture d'écran comme indiqué ci-dessous pour plus de détails.

$ cat /etc/cron.daily/logrotate

Conclusion

Dans cet article, vous avez appris à installer le package logrotate et à vérifier le fichier de configuration d'application par défaut et spécifique pour logrotate avec l'implémentation de crontab. Merci !


Linux
  1. Comment installer le fichier deb dans Ubuntu (avec exemples)

  2. Fichier de configuration de la base de données Magento 2

  3. Utilisation de Logrotate sous Linux pour gérer les fichiers journaux (avec exemples)

  4. Comment :gérer les journaux système avec Journalctl

  5. Exemple de configuration et de dépannage de logrotate

Comment gérer les fichiers avec Scilab sur Ubuntu 15.04

Comment configurer la mise en réseau avec Netplan sur Ubuntu

HowTo:Le didacticiel de commande ultime Logrotate avec 10 exemples

logrotate incapable de faire pivoter les journaux, obtenant l'erreur No such file

Surveillez en permanence les journaux avec queue qui sont parfois tournés

Logrotate ne supprime pas les anciens journaux