GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment empêcher les journaux de devenir trop volumineux ?

J'ai un cronjob qui exécute des scripts Python et ils génèrent un fichier journal massif. Comment puis-je les empêcher de devenir si gros? Ce serait parfait si le fichier était supprimé une fois qu'il avait atteint une certaine taille. Parce que tous les quelques jours, le fichier fait maintenant 50 Mo mais devient beaucoup plus volumineux et prend une éternité pour télécharger et analyser un bogue sur une connexion Internet lente. Je ne veux vraiment voir que les 1000 dernières lignes pour voir où le script s'est mal passé.

Je sais que je pourrais coder quelque chose pour faire cela, mais je me demandais simplement si Linux avait quelque chose que je ne connaissais pas. J'imagine que les gros fichiers journaux sont un problème courant. Merci.

Réponse acceptée :

Habituellement, vous ne devez enregistrer que l'activité qui vous intéresse et devez configurer le programme pour qu'il soit moins verbeux si possible.

Comme suggéré, en utilisant logrotate est la manière habituelle de traiter les fichiers journaux. Mais au lieu d'ajouter du contenu à /etc/logrotate.conf vous devez ajouter votre propre travail à /etc/logrotate.d/ , sinon vous auriez à examiner plus de différences de fichiers de configuration lors des mises à niveau de version.

Voici un exemple que j'ai créé pour un script php :

/var/log/some-php-app/*.log {
        daily
        rotate 10
        delaycompress
        compress
        notifempty
        missingok
}
  • /var/log/some-php-app/*.log – Est le chemin où se trouve le(s) fichier(s) journal(s) et son nom. Comme vous pouvez le constater, vous pouvez également utiliser des caractères génériques pour appliquer la règle à plusieurs fichiers journaux.
  • quotidiennement – Fait pivoter les fichiers journaux quotidiennement. Alternatives :horaire, hebdomadaire, mensuel, annuel, maxsize, maxage
  • faire pivoter compter - Les fichiers sont tournés plusieurs fois avant d'être supprimés ou envoyés à l'adresse spécifiée dans une directive de messagerie.
  • delaycompress – Reporte la compression du fichier journal précédent au cycle de rotation suivant.
  • compresser – Compresse les anciennes versions des fichiers journaux avec gzip. Vous pouvez utiliser zless au lieu de less pour afficher les fichiers.
  • notifempty – Ne fait pas tourner le journal s'il est vide.
  • manquantok – Passe à la tâche de rotation suivante sans émettre de message d'erreur, lorsque le fichier journal est manquant.

Consultez la page de manuel logrotate pour plus d'options.


Ubuntu
  1. Comment créer un fichier .img à partir de .iso sur Ubuntu ?

  2. Comment installer Ubuntu à partir d'un fichier Iso ?

  3. Ajustement d'accessibilité :comment empêcher le texte sélectionné accidentellement d'être remplacé lors de la frappe ?

  4. Comment se connecter au compte administrateur à partir d'un compte non administrateur ?

  5. Comment créer un fichier .click à partir d'une application installée ?

Comment afficher et lire les fichiers journaux Linux

Comment empêcher SSH d'expirer

Comment afficher les données d'un fichier texte sous Linux

Comment empêcher PHP-FPM de consommer trop de RAM sous Linux

Comment empêcher /var/log/kern.log.1 de consommer tout l'espace disque ?

Comment accéder aux fichiers Windows à partir d'Ubuntu ?