11 votes

Sous unix, quel est le meilleur moyen de réduire la taille d'un énorme fichier journal dans lequel on écrit activement ?

Sur un serveur linux, je veux réduire la taille d'un fichier journal qui fait plusieurs Go. Couper la moitié supérieure, ou peut-être le premier million de lignes, pourrait fonctionner.

13voto

ewwhite Points 193555

Cela revient souvent dans les entretiens...

Vous cherchez à tronquer le fichier sans perturber les processus ? Les informations contenues dans le fichier journal ont-elles de la valeur ? Si c'est le cas, je "mets à zéro" le fichier avec une simple chaîne bash.

: > /var/log/badlogfile

Cela se produit dans des situations où vous pouvez avoir une application qui ne peut pas être redémarrée de manière contrôlée. Disons qu'il s'agit d'une application de trading financier et que le programme ne peut pas être arrêté ou redémarré pendant la journée de trading. Cependant, les fichiers journaux augmentent à un rythme effarant en raison d'un bug de l'application. En tronquant les fichiers journaux à l'aide de la méthode ci-dessus ou ci-dessous, le système peut continuer à fonctionner.

Voir aussi : http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/

2voto

licorna Points 1182

Vous pouvez le mettre dans logrotate, il ne deviendra pas aussi facilement incontrôlable.

1voto

MarioDS Points 289

S'il est en cours d'écriture, vous n'avez pas grand-chose à faire pour le tronquer. Vos seules options sont de vider le fichier (vous pourriez d'abord le copier ailleurs).

echo "" >/var/log/fileYouWantToEmpty

De cette façon, le fichier est vide, mais il s'agit toujours du même fichier/inode, ce qui ne perturbe pas le programme de journalisation.

0voto

Software Mechanic Points 221

Vous pouvez également essayer de cat /dev/null > /var/log/. Mais, je dois vous avertir que /dev/null n'est pas implémenté dans certaines des anciennes versions...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X