GNU/Linux >> Tutoriels Linux >  >> Linux

Comment gérer les fichiers journaux à l'aide de Logrotate sous Linux

Il y a quelques jours, nous avons publié un guide décrivant comment configurer le serveur Rsyslog centralisé sur le système CentOS. Aujourd'hui, dans ce guide, nous allons voir comment gérer les fichiers journaux à l'aide de Logrotate sur Linux. Cet utilitaire simplifie l'administration des fichiers journaux, particulièrement utile pour les systèmes qui produisent quotidiennement un grand volume de fichiers journaux. Comme son nom l'indique, LogRotate fait pivoter les journaux entièrement hors de votre système à intervalles réguliers. Il permet également la rotation, la compression, la suppression et l'envoi automatiques des fichiers journaux. Chaque fichier journal peut être géré quotidiennement, hebdomadairement, mensuellement ou lorsqu'il devient trop volumineux.

Gérer les fichiers journaux à l'aide de Logrotate

Installer Logrotate

Logrotate est disponible dans les dépôts par défaut de la plupart des distributions Linux.

Sur Arch Linux et ses dérivés, vous devez exécuter la commande suivante pour l'installer.

$ sudo pacman -S logrotate

Sur les systèmes basés sur RPM, tels que RHEL, CentOS, Scientific Linux, vous pouvez l'installer à l'aide de la commande :

$ sudo yum install logrotate

Sur Debian, Ubuntu :

$ sudo apt-get install logrotate

Sur SUSE, ouvrez SUSE :

$ sudo znf install logrotate
Télécharger - Guide électronique gratuit :"22 ajustements utiles pour faire en sorte qu'Ubuntu se sente comme chez soi"

Configurer Logrotate

Le fichier de configuration principal de LogRotate est /etc/logrotate.conf .

Voici le contenu par défaut de ce fichier dans mon système Arch. Cette sortie de fichier peut sembler légèrement différente sur d'autres distributions Linux.

$ cat /etc/logrotate.conf

Exemple de résultat :

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# restrict maximum size of log files
#size 20M

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# Logs are moved into directory for rotation
# olddir /var/log/archive

# Ignore pacman saved files
tabooext + .pacorig .pacnew .pacsave

# Arch packages drop log rotation information into this directory
include /etc/logrotate.d

/var/log/wtmp {
 monthly
 create 0664 root utmp
 minsize 1M
 rotate 1
}

/var/log/btmp {
 missingok
 monthly
 create 0600 root utmp
 rotate 1
}

Voyons ce que fait chaque option dans le fichier de configuration ci-dessus.

  • hebdomadaire - Il fait tourner les journaux chaque semaine.
  • faire pivoter de 4 -  Par défaut, LogRotate conserve les quatre semaines (un mois, évidemment) de fichiers journaux. Étant donné qu'il effectue une rotation de tous les fichiers journaux après une période donnée, vous devrez peut-être conserver une sauvegarde des fichiers journaux importants si vous ne voulez pas les perdre.
  • taille 20M - Fait pivoter les fichiers journaux s'ils atteignent la taille de 20 Mo. Par défaut, cette option est désactivée. Pour l'activer, décommentez-le simplement.
  • créer - Crée de nouveaux fichiers journaux une fois après la rotation des anciens fichiers journaux. Cette option est activée par défaut.
  • compresser - Compresse les fichiers journaux. De plus, il ne compresse pas les journaux par défaut. Si vous souhaitez compresser les journaux, décommentez cette ligne.
  • /etc/logrotate.d/ - Ce répertoire contient les fichiers de règles de journal spécifiques à l'application.
  • manquant ok - Si le fichier journal est manquant, Logrotate passera au suivant sans émettre de message d'erreur.

Logrotate segmente les fichiers journaux et compresse les journaux en fonction des règles spécifiées sous /etc/logrotate.d/ répertoire.

Jetons un coup d'œil au contenu de ce répertoire.

$ ls /etc/logrotate.d/

Exemple de sortie :

lirc  samba

Comme vous le voyez dans la sortie ci-dessus, il contient divers fichiers de règles pour tous les journaux gérés par LogRotate. Pour afficher une règle de journal d'application spécifique, par exemple samba, exécutez :

$ cat /etc/logrotate.d/samba

Exemple de résultat :

/var/log/samba/log.smbd /var/log/samba/log.nmbd /var/log/samba/*.log {
 notifempty
 missingok
 sharedscripts
 copytruncate
 postrotate
 /bin/kill -HUP `cat /var/run/samba/*.pid 2>/dev/null` 2>/dev/null || true
 endscript
}

Ici,

  • notifempty - Indique que les fichiers journaux ne seront pas tournés s'ils sont vides.
  • copier tronquer - Tronquez le fichier journal d'origine en place après avoir créé une copie.
  • postrotation/endscript - Les lignes entre postrotate et endscript sont exécutées après la rotation du fichier journal.
  • script partagé - Les scripts ne sont exécutés qu'une seule fois, quel que soit le nombre de journaux correspondant au modèle générique.

Vous pouvez également créer vos propres fichiers de règles de journalisation dans le répertoire /etc/logrotate.d/ et définir vos propres règles.

Cron exécute quotidiennement l'utilitaire logroate à la recherche de fichiers journaux à faire pivoter. Vous pouvez spécifier des règles de rotation automatique des journaux dans /etc/cron.daily/logrotate fichier pour éviter l'intervention manuelle de l'utilisateur. Il effectuera la rotation des journaux chaque jour à une heure précise.

Pour vérifier si les fichiers journaux tournent ou non, exécutez :

$ cat /var/lib/logrotate.status

Exemple de résultat :

logrotate state -- version 2
"/var/log/samba/log.smbd" 2016-5-12-11:0:0
"/var/log/lircd" 2016-6-15-10:0:0
"/var/log/httpd/*log" 2016-5-12-11:0:0
"/var/log/wtmp" 2016-5-6-10:0:0
"/var/log/samba/*.log" 2016-5-12-11:0:0
"/var/log/btmp" 2017-4-1-11:36:53
"/var/log/samba/log.nmbd" 2016-5-12-11:0:0

Pour plus de détails, exécutez le logrotate en saisissant la commande suivante :

$ logrotate --help

Ou,

$ man logrotate

C'est tout pour le moment, les gens. Logrotate est un outil de rotation de journaux simple mais utile qui simplifie la gestion des journaux. Vous n'avez pas besoin de vous débattre avec des étapes de configuration et d'installation complexes. Tout est explicite. Si vous gérez un système qui produit un grand nombre de fichiers journaux, vous pouvez les faire pivoter périodiquement à l'aide de Logrotate.

Santé !


Linux
  1. Comment effectuer une comparaison ligne par ligne de fichiers sous Linux à l'aide de la commande diff

  2. Comment écrire des fichiers journaux dans la RAM à l'aide de Log2ram sous Linux

  3. Fichiers journaux Linux

  4. Comment utiliser Logrotate pour gérer les fichiers journaux

  5. Comment faire pivoter les fichiers journaux Apache sous Linux

Comment sauvegarder des fichiers et des répertoires à l'aide de Rsync sous Linux

Comment synchroniser des fichiers dans les deux sens à l'aide du script Osync sous Linux

Comment afficher les fichiers journaux Nginx sous Linux

Comment afficher les fichiers journaux Apache sous Linux

Comment copier des fichiers sous Linux à l'aide de la commande CP

Comment configurer et gérer la rotation des journaux à l'aide de Logrotate sous Linux