GNU/Linux >> Tutoriels Linux >  >> Linux

Configurer logrotate sur Redhat Linux

Logrotate est un utilitaire conçu pour les administrateurs qui gèrent des serveurs qui produisent un volume élevé de fichiers journaux. Cela les aide à économiser de l'espace disque, ainsi qu'à éviter un risque potentiel de rendre un système insensible en raison du manque d'espace disque.

Normalement, une solution pour éviter ce genre de problème est de configurer une partition ou un volume logique séparé pour un /var point de montage. Cependant, logrotate peut également être une solution viable à ce problème, surtout s'il est trop tard pour déplacer tous les journaux sous une partition différente.

Dans ce tutoriel, nous montrerons comment configurer le service logrotate sur Red Hat Enterprise Linux, afin que vous puissiez reprendre le contrôle des fichiers journaux.

Dans ce didacticiel, vous apprendrez :

  • Comment utiliser l'utilitaire logrotate sur RHEL
  • Où sont stockés les fichiers de configuration de logrotate
  • Comment configurer une configuration de logrotate personnalisée
  • Comment tester une implémentation logrotate
Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système Red Hat Enterprise Linux
Logiciel logrotate
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Qu'est-ce que la rotation de log ?


Logrotate permet à un administrateur système de faire pivoter et d'archiver systématiquement tous les fichiers journaux produits par le système, réduisant ainsi l'espace disque requis par le système d'exploitation. Par défaut, logrotate est invoqué une fois par jour à l'aide d'un planificateur cron depuis l'emplacement /etc/cron.daily/ .

# ls /etc/cron.daily/
cups  logrotate  makewhatis.cron  mlocate.cron  prelink  readahead.cron  rhsmd  tmpwatch

Configuration de la rotation de log

La configuration de Logrotate se fait en éditant deux fichiers de configuration distincts :

  • /etc/logrotate.conf
  • fichiers de configuration spécifiques au service stockés dans /etc/logrotate.d/

Le principal logrotate.conf Le fichier contient une configuration générique. Voici un fichier de configuration logrotate par défaut logrotate.conf :

  weekly
  rotate 4
  create
  dateext
  include /etc/logrotate.d
  /var/log/wtmp {
      monthly
      create 0664 root utmp
          minsize 1M
      rotate 1
  }
  • Ligne 1 :hebdomadaire L'option de configuration assure une rotation hebdomadaire de tous les fichiers journaux définis dans le fichier de configuration principal et dans le répertoire /etc/logrotate.d/.
  • Ligne 2 :tourner de 4 garantit que logrotate conserve une sauvegarde de 4 semaines de tous les fichiers journaux
  • Ligne 3 – créer l'option indique à logrotate de créer de nouveaux fichiers journaux vides après chaque rotation
  • Ligne 4 – textedate ajoute une extension à tous les fichiers journaux en rotation sous forme de date à laquelle chaque fichier journal particulier a été traité par logrotate
  • Ligne 5 :inclure toute autre configuration depuis le répertoire /etc/logrotate.d
  • Les lignes 6 à 11 contiennent une configuration de rotation de journal de service spécifique

Contrairement à logrotate.conf , un répertoire /etc/logrotate.d/ contient des fichiers de configuration de service spécifiques utilisés par logrotate. Dans la section suivante, nous allons créer un exemple de configuration squelette de logrotate.

Y compris les nouveaux journaux de service à logrotate

Dans cette section, nous allons ajouter un nouveau fichier journal dans une configuration logrotate. Disons que nous avons un fichier journal appelé /var/log/linuxserver.log , assis dans notre /var/log répertoire qui doit faire l'objet d'une rotation quotidienne.

Nous devons d'abord créer un nouveau fichier de configuration logrotate pour accueillir notre nouveau fichier journal :

# vi /etc/logrotate.d/linuxserver

Insérez le texte suivant dans /etc/logrotate.d/linuxserver :

/var/log/linuxserver.log {
        rotate 7
        daily
        compress
        delaycompress
        missingok
        notifempty
        create 660 linuxuser linuxuser }

Ce fichier de configuration s'exécutera quotidiennement, créera un maximum de 7 archives détenues par linuxuser et le groupe linuxuser avec 660 autorisations, compressera tous les journaux et n'exclura que les fichiers journaux d'hier et vides. Voici quelques mots-clés de configuration logrotate sélectionnés. Pour un didacticiel complet, consultez la page de manuel de logrotate.

quotidiennement Les fichiers journaux sont alternés tous les jours.
hebdomadaire Les fichiers journaux sont tournés si le jour de la semaine actuel est inférieur au jour de la semaine de la dernière rotation ou si plus d'une semaine s'est écoulée depuis la dernière rotation. C'est normalement la même chose que la rotation des journaux le premier jour de la semaine, mais si logrotate n'est pas exécuté tous les soirs, une rotation des journaux se produira à la première occasion valable.
mensuel Les fichiers journaux font l'objet d'une rotation la première fois que logrotate est exécuté dans un mois (c'est normalement le premier jour du mois).
notifempty Ne faites pas pivoter le journal s'il est vide (cela remplace l'option ifempty).
sans compression Les anciennes versions des fichiers journaux ne sont pas compressées.
delaycompress Reporter la compression du fichier journal précédent au cycle de rotation suivant. Cela n'a d'effet que lorsqu'il est utilisé en combinaison avec la compresse. Il peut être utilisé lorsqu'un programme ne peut pas être invité à fermer son fichier journal et peut donc continuer à écrire dans le fichier journal précédent pendant un certain temps.
compresser Les anciennes versions des fichiers journaux sont compressées avec gzip par défaut.
adresse e-mail Lorsqu'un journal n'existe plus, il est envoyé à l'adresse. Si aucun courrier ne doit être généré par un journal particulier, la directive nomail peut être utilisée.
manquantok Si le fichier journal est manquant, passez au suivant sans afficher de message d'erreur.

Une fois votre fichier de configuration prêt, copiez-le simplement dans le répertoire logrotate et modifiez le propriétaire et les autorisations :

# cp linuxserver /etc/logrotate.d/
# chmod 644 /etc/logrotate.d/linuxserver
# chown root.root /etc/logrotate.d/linuxserver

Tester une nouvelle configuration Logrotate

Maintenant que la configuration de logrotate a été implémentée, suivez les étapes ci-dessous pour la tester.

  1. Créez un exemple de fichier journal, s'il n'existe pas déjà :
    # echo "rotate my log file" > /var/log/linuxserver.log
    
  2. Une fois votre fichier journal en place, forcez logrotate à faire pivoter tous les journaux avec -f option.
    # logrotate -f /etc/logrotate.conf
    

    Avertissement :La commande ci-dessus fera pivoter tous vos journaux définis dans /etc/logrotate.d répertoire.

  3. Maintenant, visitez à nouveau votre répertoire /var/log/ et confirmez que votre fichier journal a été tourné et qu'un nouveau fichier journal a été créé.

Réflexions finales

Comme il a déjà été mentionné précédemment, la meilleure façon d'éviter que votre système ne soit encombré par des fichiers journaux est de créer une partition/volume logique séparé pour votre /var/ ou encore mieux /var/log annuaire. Cependant, même dans ce cas, logrotate peut vous aider à économiser de l'espace disque en compressant vos fichiers journaux. Logrotate peut également vous aider à archiver vos fichiers journaux pour une référence future en créant une copie supplémentaire ou en vous envoyant par e-mail tout fichier journal récemment pivoté.


Linux
  1. Comment vérifier la version de Redhat

  2. Configurer le stockage virtuel KVM par défaut sur Redhat Linux

  3. Comment configurer la virtualisation sur Redhat Linux

  4. logrotate Exemples de commandes sous Linux

  5. RedHat Enterprise Linux 6 - Modifier le nom d'hôte

Comment changer un nom d'hôte sur Redhat 7 Linux

Installer et configurer Ansible sous Linux

Comment configurer un VLAN sous Linux

3 façons de configurer une interface réseau sous Linux

Configuration de logrotate sous Linux

Comment configurer un cluster Linux avec 2 nœuds sur RedHat et CentOS