GNU/Linux >> Tutoriels Linux >  >> Linux

Rotation du journal de stdout ?

Vous pouvez également diriger la sortie via des outils conçus dans le but principal de conserver des ensembles de fichiers journaux à taille limitée et à rotation automatique, tels que :

  • Le multilog de Dan Bernstein de daemontools
  • Le multilog de Bruce Guenter de daemontools-encore
  • Le s6-log de Laurent Bercot depuis s6
  • Le svlogd de Gerrit Pape de runit
  • Le tinylog de Wayne Marshall du perp
  • Mon cyclog de nosh

Outils pour traiter ensuite multilog -les ensembles de fichiers journaux au format incluent, entre autres :

  • Le multilog-watch de Russ Allbery
  • logrange
  • Le multilog-stamptail de Paul Kremer
  • Mon follow-log-directories de nosh
  • Mon export-to-rsyslog de nosh

Autres lectures

  • Jonathan de Boyne Pollard (2015). "Enregistrement". La famille daemontools . Réponses fréquemment données.
  • Jonathan de Boyne Pollard (2016). N'utilisez pas logrotate ou newsyslog dans ce siècle. . Réponses fréquemment données.
  • https://unix.stackexchange.com/a/326166/5132

le rotatelogs outil livré avec apache (dans le bin dir) (voir docs) prend l'entrée de stdin et fait pivoter le journal après un certain laps de temps


J'ai eu un problème similaire et j'avais initialement abandonné logrotate mais il s'est avéré que logrotate peut bien le faire, la directive clé est "copytruncate ". Pour une raison quelconque, ce terme n'est apparu sur aucune des recherches que j'ai effectuées sur Google, j'ajoute donc cette réponse pour clarifier exactement comment l'utiliser dans ce cas.

L'astuce est que cela ne fonctionne que si la redirection se fait avec ">> " (ajouter) au lieu de "> " (créer).

Fichier de configuration (truncate.cfg) :

/tmp/temp.log {
    size 10M
    copytruncate
    rotate 4
    maxage 100
}

Programme de test (n'abandonne jamais le fichier). Vous pouvez le voir remplir le disque et bien que la suppression du fichier journal semble fonctionner, cela ne libérera pas d'espace sur le disque :

cat /dev/urandom >> /tmp/temp.log

Exécution de la rotation du journal :

logrotate truncate.cfg

Linux
  1. Comment rediriger la sortie vers un fichier et Stdout sous Linux

  2. Commande pour exporter le contenu du fichier vers Stdout ?

  3. Comment vider un fichier journal sous Linux

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

  5. Comment créer une rotation de fichier journal personnalisée par logrotate sous Linux

Comment rediriger stderr vers stdout dans Bash

Comment changer le fichier journal Sudo par défaut sous Linux

Configuration de logrotate sous Linux

Rotation des fichiers journaux

créer un fichier journal

cp -L vs cp -H