Exemples de rotation de log Linux

Exemples De Rotation De Log Linux



Les informations du journal sont une partie très importante de tout système d'exploitation pour diagnostiquer le problème de toute application en cours d'exécution et les entrées du journal aident à trouver la solution du problème. La plupart des applications du système d'exploitation Linux génèrent le journal et l'administrateur système obtient les informations requises sur l'application à partir des entrées du journal. Cependant, les entrées du journal créent parfois des problèmes car leur taille augmente avec le temps. Ainsi, les entrées de journal doivent être gérées.

Le logrotate est un outil de ligne de commande de Linux pour gérer les entrées du journal. Cet outil permet à l'administrateur d'effectuer différents types de tâches sur les entrées de journal, telles que la limitation des fichiers journaux pivotés, la compression des fichiers journaux pivotés, la suppression des fichiers journaux inutiles, l'exécution du script shell particulier basé sur les fichiers journaux, etc. de la commande «logrorate» pour gérer les fichiers journaux de différentes manières sont présentés dans ce didacticiel à l'aide de plusieurs exemples.

Vérifiez la version de Logrotate installée

La commande « logrotate » est installée par défaut dans la nouvelle version du système d'exploitation Ubuntu. Exécutez la commande suivante pour vérifier la version installée de la commande « logrotate » :







$ logrotation --version



Les entrées de journal des différentes applications sont stockées par défaut dans le dossier « /var/log ». Le contenu similaire suivant apparaîtra si vous vérifiez le contenu du dossier.



$ ls / était / enregistrer





Définir la configuration « Logrotate »

Valeur de réglage But
quotidien/hebdomadaire/mensuel/annuel Il définit la durée de rotation des journaux.
faire pivoter le numéro Il définit le nombre de fichiers qui seront conservés avant de supprimer les anciens fichiers journaux.
compresse Il est utilisé pour compresser les fichiers journaux.
compressercmd Il est utilisé pour définir la commande « compresser ». Le gzip est la commande par défaut.
décompresser cmd Il est utilisé pour définir la commande « décompresser ». Le gunzip est la commande par défaut.
retarder la compression Il est utilisé pour retarder le processus de compression des fichiers journaux.
notification vide Il est utilisé pour ne pas faire pivoter le fichier vide.
il me manque S'il est défini, aucune erreur n'est générée pour les fichiers journaux manquants.
taille Il est utilisé pour définir la limite de démarrage de la rotation des fichiers journaux.
datetexte Il est utilisé pour ajouter une valeur de date comme suffixe du fichier de rotation.
copiertronquer Il est utilisé pour créer une copie du fichier original.
prérotation Il est utilisé pour exécuter un script avant de faire tourner les fichiers journaux.
post-rotation Il est utilisé pour exécuter un script après la rotation des fichiers journaux.
créer Il est utilisé pour créer les fichiers journaux avec un privilège root.

Syntaxe:

La syntaxe de la commande « logrotate » est donnée comme suit :



logrotation [ OPTION ] chemin_fichier_config

Différents types d'options peuvent être utilisés à différentes fins avec la commande « logrotate ».

Options de rotation

Certaines options utiles de la commande « logrotate » sont mentionnées ci-dessous :

-f, –force Il est utilisé pour effectuer la rotation avec force lorsque cela est nécessaire.
-d, –débogage Il est utilisé pour activer le mode débogage pendant la rotation.
-m, –mail Il sert à envoyer un email pendant la rotation.
-s, –state Il est utilisé pour les fichiers d'état alternatifs.
-usage Il est utilisé pour imprimer les informations d'utilisation.
-?, -aide Il est utilisé pour imprimer les messages d'aide.
-v, –verbeux Il est utilisé pour imprimer en mode verbeux.

Logroter le fichier de configuration

Le fichier de configuration principal de logrotate se trouve à l'emplacement « /etc/logrotate.conf ». Exécutez la commande suivante pour ouvrir le fichier dans l'éditeur nano :

$ nano / etc. / logrotate.conf

Le paramètre par défaut de la commande « logrotate » est affiché dans le fichier « logrotate.conf ». La directive « include » est utilisée dans le fichier pour récupérer la configuration qui se trouve dans le répertoire « /etc/logrotate.d ».

Exemple 1 : Créer un fichier de configuration de rotation simple

Créez un exemple de fichier journal nommé « /var/log/test.log » avec les exemples de données de journal. Exécutez la commande suivante pour ouvrir l'éditeur nano afin de créer un nouveau fichier « logrotate.conf » dans l'emplacement du dossier « /etc/tmp ». Créez le dossier «/tmp» avec les privilèges root s'il n'a pas été créé auparavant.

$ nano / etc. / tmp / logrotate.conf

Ajoutez le contenu suivant au fichier « /var/log/test.log ». Selon le paramètre, le fichier « test.log » sera alterné quotidiennement si la taille du fichier dépasse 5 Ko :

/ était / enregistrer / test.log {

tous les jours

taille 5K

son Administrateur racine

}

Exécutez la commande suivante pour vérifier la taille du fichier journal :

$ ls -l / était / enregistrer / test.log

Exécutez la commande « logrotate » après avoir créé le fichier de configuration.

$ sudo logrotation / etc. / tmp / logrotate.conf

Exécutez à nouveau la commande suivante pour vérifier la taille du fichier journal après avoir exécuté la commande « logrotate » :

$ ls -l / était / enregistrer / test.log

La taille du fichier « test.log » est de 1K+. Ainsi, aucune rotation n’est effectuée en fonction du paramètre de configuration.

Modifiez la valeur de taille en 1 Ko dans le fichier « /etc/tmp/logrotate.conf » et exécutez à nouveau la commande « ls » pour vérifier la taille du fichier « /var/log/test.log ». Selon le résultat, le fichier journal est pivoté et supprimé car la limite de taille est dépassée.

Exemple 2 : Utilisation de Logrotate Copytruncate

Créez ou modifiez le fichier « /etc/tmp/logrotate.conf » avec les paramètres suivants pour montrer l'utilisation du copytruncate. Selon les nouveaux paramètres, logrotate crée une copie du fichier d'origine en rendant la taille du fichier d'origine à zéro.

/ était / enregistrer / test.log {

tourner 5

taille 1 000 $

copiertronquer

son Administrateur racine

}

Exécutez la commande suivante pour vérifier la taille du fichier « test.log » :

$ ls -l / était / enregistrer / test.log

Exécutez la commande « logrotate » après avoir créé le fichier de configuration.

$ sudo logrotation / etc. / tmp / logrotate.conf

Exécutez à nouveau la commande suivante pour vérifier la taille du fichier « test.log » après avoir exécuté la commande « logrotate » :

$ ls -l / était / enregistrer / test.log

La taille du fichier d'origine devient 0 après l'exécution de la commande « logrotate » pour le paramètre copytruncate.

Exemple 3 : Utilisation de Logrotate Compress

Créez ou modifiez le fichier « /etc/tmp/logrotate.conf » avec les paramètres suivants pour montrer l'utilisation de la compression. Selon les nouveaux paramètres, logrotate crée un fichier compressé du fichier d'origine.

/ était / enregistrer / test.log {

tourner 5

taille 1 000 $

compresse

créer 770 Administrateur racine

}

Exécutez la commande suivante pour vérifier la liste des fichiers et dossiers de « /var/log » :

$ ls / était / enregistrer /

Exécutez la commande « logrotate » après avoir créé le fichier de configuration.

$ sudo logrotation / etc. / tmp / logrotate.conf

Exécutez à nouveau la commande suivante pour vérifier la liste des fichiers et dossiers de « /var/log » :

$ ls / était / enregistrer /

Le fichier compressé du fichier « test.log » est créé sous le nom « test.log.1.gz » et le fichier d'origine est supprimé.

Exemple 4 : Utilisation de Logrotate Dateext

Créez ou modifiez le fichier « /etc/tmp/logrotate.conf » avec les paramètres suivants pour afficher l'utilisation de dateext. Selon les nouveaux paramètres, logrotate crée un fichier compressé du fichier original avec la valeur de date.

était / enregistrer / test.log {

son Administrateur racine

tourner 5

taille 1 000 $

compresse

créer 770 Administrateur racine

datetexte

}

Exécutez la commande « logrotate » après avoir créé le fichier de configuration.

$ sudo logrotation / etc. / tmp / logrotate.conf

Exécutez la commande suivante pour vérifier la liste des fichiers et dossiers de « /var/log » :

$ ls -l / était / enregistrer /

Le fichier compressé du fichier « test.log » est créé sous le nom « test.log.20240129.gz » et le fichier d'origine est supprimé.

Exemple 5 : Utilisation de Logrotate Maxage

Créez ou modifiez le fichier « /etc/tmp/logrotate.conf » avec les paramètres suivants pour montrer l'utilisation du maxage. Selon les paramètres, logrotate conserve cinq entrées de journal si la taille du fichier journal dépasse 1 Ko après un jour.

/ était / enregistrer / test.log {

son Administrateur racine

tourner 5

taille 1 000 $

compresse

maximum 1

}

Exécutez la commande « logrotate » suivante pour stocker la sortie dans un autre fichier journal nommé « out.log » :

$ sudo logrotation -s = / était / enregistrer / out.log / etc. / tmp / logrotate.conf

Selon le résultat suivant, le fichier « out.log » est créé après l'exécution de la commande « logrotate » :

Exemple 6 : Utilisation de Logrotate Missingok

Créez ou modifiez le fichier « /etc/tmp/logrotate.conf » avec les paramètres suivants. Ici, le fichier journal « testfile.log » n'existe pas dans le dossier « /var/log ».

/ était / enregistrer / fichier de test.log {

son Administrateur racine

tourner 5

taille 1 000 $

compresse

}

Un message d'erreur est imprimé après l'exécution de la commande « logrotate ».

Ajoutez le paramètre « missingok » dans le fichier de configuration logrotate et exécutez à nouveau la commande « logrotate ». Aucune erreur n'est imprimée pour le fichier journal manquant.

Exemple 7 : Utilisation de Logrotate Prerotate

Créez un fichier Bash nommé « test.sh » avec le script suivant qui imprime un message simple. Le fichier est utilisé dans cet exemple de logrotate pour montrer l'utilisation de la prérotation dans le fichier de configuration de logrotate.

test.sh



#!/bin/bash

écho 'logroter des exemples...'

Après avoir créé le fichier, exécutez la commande suivante pour définir l'autorisation d'exécution de ce fichier pour tous les utilisateurs :

$ chmod a+x / maison / compréhension / test.sh

Maintenant, créez ou modifiez le fichier « /etc/tmp/logrotate.conf » avec les paramètres suivants. Selon les paramètres, logrotate conserve cinq entrées de journal si la taille du fichier journal dépasse 1 Ko et que le fichier « test.sh » est exécuté avant la rotation.

/ était / enregistrer / test.log {

son Administrateur racine

tourner 5

taille 1 000 $

prérotation

/ maison / compréhension / test.sh

fin du texte

}

La sortie du fichier « test.sh » est affichée après l'exécution de la commande « logrotate » :

Conclusion

Les différentes utilisations de la commande « logrotate » sont présentées dans ce didacticiel à l'aide de plusieurs exemples qui aideront l'utilisateur Linux à connaître les utilisations de la commande et à gérer correctement les fichiers journaux.