0Pricing
Linux Server Deployment & SSH Mastery · Leçon

Rotation et archivage des journaux

Mettez en œuvre `logrotate` pour gérer la taille des fichiers journaux, éviter l’épuisement de l’espace disque et garantir des politiques d’archivage efficaces.

Rotation et archivage des journaux est une leçon Linux Server Deployment & SSH Mastery gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Server Deployment & SSH Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.

Pourquoi la rotation des journaux est importante

Les journaux du serveur sont essentiels pour le débogage et la surveillance, mais ils peuvent devenir très volumineux au fil du temps. Si vous ne les contrôlez pas, ils peuvent rapidement remplir l'espace disque, entraînant une instabilité du serveur, voire des plantages.

C'est là qu'intervient la rotation des journaux. Il s'agit d'un processus essentiel pour gérer efficacement la taille des fichiers journaux.

Présentation de l'utilitaire `logrotate`

Les systèmes Linux utilisent un utilitaire appelé logrotate pour automatiser la gestion des fichiers journaux. Il est conçu pour :

  • Faire tourner les journaux (renommer les anciens)
  • Compresser les anciens journaux pour économiser de l'espace
  • Supprimer les fichiers journaux très anciens
  • Exécuter des scripts personnalisés après la rotation

La plupart des distributions Linux ont logrotate préinstallé et configuré pour s'exécuter quotidiennement via une tâche cron.

Comment `logrotate` trouve ses instructions

logrotate lit sa configuration dans des fichiers précis. Il existe deux emplacements principaux :

  • /etc/logrotate.conf : le fichier de configuration principal, qui contient souvent les paramètres globaux et les valeurs par défaut.
  • /etc/logrotate.d/ : un répertoire dans lequel les applications et les services placent leurs propres règles spécifiques de rotation des journaux. Chaque fichier de ce répertoire est traité comme une configuration distincte.

Cette approche modulaire facilite la gestion des règles pour différents services.

Définir la fréquence de rotation des journaux

L'une des premières choses à définir est la fréquence de rotation des journaux. logrotate propose plusieurs directives pour cela :

  • daily : fait tourner les journaux chaque jour.
  • weekly : fait tourner les journaux une fois par semaine.
  • monthly : fait tourner les journaux une fois par mois.
  • yearly : fait tourner les journaux une fois par an.

Choisissez une fréquence qui équilibre la conservation des détails des journaux et l'utilisation de l'espace disque.

Conserver un certain nombre d'anciens journaux

La directive rotate indique à logrotate combien d'anciens fichiers journaux conserver avant de supprimer les plus anciens. Par exemple, rotate 4 signifie qu'il conservera le fichier journal actuel ainsi que quatre versions ayant fait l'objet d'une rotation (archivées).

Une fois la limite atteinte, le journal ayant subi la rotation le plus ancien est supprimé lorsqu'une nouvelle rotation a lieu.

Compression des anciens fichiers de journaux

Pour économiser encore davantage d’espace disque, logrotate peut compresser les anciens fichiers de journaux. La directive compress fait exactement cela, généralement à l’aide de gzip.

Lorsque cette option est activée, vos journaux archivés apparaissent sous forme de fichiers .gz (par exemple, myapp.log.1.gz). Cette option est vivement recommandée pour la plupart des journaux de serveur.

Rotation selon la taille, pas seulement selon le temps

Parfois, les journaux peuvent grossir très rapidement, et attendre une rotation quotidienne ou hebdomadaire ne suffit pas. La directive size vous permet d’effectuer une rotation lorsque les journaux dépassent une certaine taille de fichier, quelle que soit la fréquence temporelle.

  • size 100k : effectue une rotation si le fichier journal dépasse 100 kilooctets.
  • size 10M : effectue une rotation si le fichier journal dépasse 10 mégaoctets.
  • size 1G : effectue une rotation si le fichier journal dépasse 1 gigaoctet.

Si une fréquence temporelle (par exemple, daily) et size sont toutes deux spécifiées, la rotation a lieu dès que l’une des deux conditions est remplie.

Exemple de configuration de `logrotate`

Voici un exemple simple de fichier de configuration que vous pourriez trouver dans /etc/logrotate.d/ pour le fichier journal d’une application hypothétique :

Cette configuration effectue une rotation quotidienne du journal, conserve 7 anciennes copies et les compresse.

/var/log/my_app/access.log {
    daily
    rotate 7
    compress
    notifempty
    missingok
}

Exécuter `logrotate` manuellement

Bien que logrotate soit généralement exécuté automatiquement par cron, vous pouvez tester ou forcer une rotation manuellement. La commande principale est logrotate /etc/logrotate.conf.

Pour forcer une rotation (ce qui est utile pour tester vos configurations), utilisez l’option -f :

  • logrotate -f /etc/logrotate.d/my_app : force la rotation pour un fichier de configuration spécifique.
  • logrotate -f /etc/logrotate.conf : force la rotation de tous les journaux configurés.

Utilisez l’option -d (débogage) pour voir ce que la commande ferait sans effectuer réellement de rotation.

Vérification rapide : conservation des journaux

Considérez la configuration logrotate suivante pour /var/log/webserver/error.log :

/var/log/webserver/error.log { weekly rotate 4 compress notifempty }

Si cette configuration est exécutée depuis plusieurs semaines, combien de fichiers journaux historiques *compressés* vous attendriez-vous à trouver à un instant donné ?

Récapitulatif : maîtriser la gestion des journaux

Dans cette leçon, nous avons vu comment gérer efficacement les journaux d’un serveur à l’aide de logrotate. Nous avons appris que :

  • La rotation des journaux évite de saturer le disque.
  • logrotate utilise des fichiers de configuration dans /etc/logrotate.conf et /etc/logrotate.d/.
  • Les directives principales comprennent daily/weekly/monthly pour la fréquence, rotate pour la conservation, compress pour économiser de l’espace et size pour effectuer une rotation sous condition.

Une bonne gestion des journaux est essentielle au bon fonctionnement stable des serveurs !

Questions Fréquemment Posées

La leçon « Rotation et archivage des journaux » est-elle gratuite ?

Oui — le texte complet de « Rotation et archivage des journaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Server Deployment & SSH Mastery, passe à CoddyKit PRO. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Rotation et archivage des journaux » ?

Mettez en œuvre `logrotate` pour gérer la taille des fichiers journaux, éviter l’épuisement de l’espace disque et garantir des politiques d’archivage efficaces. Tu pratiques Linux Server Deployment & SSH Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Linux Server Deployment & SSH Mastery ?

Aucune expérience préalable n'est requise. Linux Server Deployment & SSH Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Rotation et archivage des journaux » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Linux Server Deployment & SSH Mastery ?

Oui. Chaque leçon Linux Server Deployment & SSH Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Outils de surveillance du système
  2. Comprendre les journaux système
  3. Rotation et archivage des journaux
  4. Surveillance et alertes centralisées
← Retour à Linux Server Deployment & SSH Mastery