Maison  >  Article  >  Tutoriel système  >  Comment utiliser logrotate pour gérer les fichiers journaux Linux

Comment utiliser logrotate pour gérer les fichiers journaux Linux

WBOY
WBOYavant
2024-02-10 11:00:04664parcourir

Les fichiers journaux dans les systèmes Linux sont des ressources importantes pour enregistrer le fonctionnement du système et le dépannage. Cependant, avec le temps, les fichiers journaux continueront à croître, occupant une grande quantité d'espace disque et ne sont pas propices à la visualisation et à l'analyse des journaux. Afin de résoudre ce problème, nous pouvons utiliser l'outil logrotate pour faire pivoter, compresser, supprimer et envoyer automatiquement des e-mails aux fichiers journaux afin d'obtenir une gestion efficace des fichiers journaux. Cet article présentera les principes de base, les fichiers de configuration et les options courantes de l'outil logrotate, ainsi que la manière de configurer des stratégies logrotate pour différentes applications.

Comment utiliser logrotate pour gérer les fichiers journaux Linux

Comment fonctionne la rotation de log

Par défaut, la commande logrotate s'exécute une fois par jour en tant que tâche cron placée dans /etc/cron.daily. Elle vous aidera à définir une politique dans laquelle les fichiers journaux dépassant une certaine durée ou taille sont alternés.
Commande :

/usr/sbin/logrotate

Fichier de configuration : /etc/logrotate.conf, c'est le fichier de configuration principal de logrotate. logrotate stocke également la configuration spécifique au service dans /etc/logrotate.d/. Assurez-vous que la ligne ci-dessous est incluse dans /etc/logrotate.conf pour lire la configuration des journaux spécifiques au service.

include  /etc/logrotate.d`

historique de journalisation : /var/lib/logrotate.status

Options de rotation importantes :

compress             --> 压缩日志文件的所有非当前版本
daily,weekly,monthly --> 按指定计划轮换日志文件
delaycompress        --> 压缩所有版本,除了当前和下一个最近的
endscript            --> 标记 prerotate 或 postrotate 脚本的结束
errors "emailid"     --> 给指定邮箱发送错误通知
missingok            --> 如果日志文件丢失,不要显示错误
notifempty           --> 如果日志文件为空,则不轮换日志文件
olddir "dir"         --> 指定日志文件的旧版本放在 “dir” 中
postrotate           --> 引入一个在日志被轮换后执行的脚本
prerotate            --> 引入一个在日志被轮换前执行的脚本
rotate 'n'           --> 在轮换方案中包含日志的 n 个版本
sharedscripts        --> 对于整个日志组只运行一次脚本
size='logsize'       --> 在日志大小大于 logsize(例如 100K,4M)时轮换

Configuration

Configurons logrotate pour notre propre exemple de fichier journal /tmp/sample_output.log.

Étape 1 : Ajoutez les lignes suivantes dans /etc/logrotate.conf.

/tmp/sample_output.log {
  size 1k
  create 700 root root
  rotate 4
  compress
}

Dans le fichier de configuration ci-dessus :

size 1k - logrotate 仅在文件大小等于(或大于)此大小时运行。
create - 轮换原始文件并创建具有指定权限、用户和组的新文件。
rotate - 限制日志文件轮转的数量。因此,这将只保留最近的 4 个轮转的日志文件。
compress - 这将压缩文件。

Étape 2 : Habituellement, vous devez attendre un jour jusqu'à ce que logrotate soit exécuté par /etc/cron.daily. Sinon, vous pouvez l'exécuter depuis la ligne de commande avec :

/usr/sbin/logrotate  /etc/logrotate.conf

Sortie avant d'exécuter la commande logrotate :

[root@rhel1 tmp]# ls -l /tmp/
total 28
-rw-------. 1 root root 20000 Jan 1 05:23 sample_output.log

Sortie après l'exécution de logrotate :

[root@rhel1 tmp]# ls -l /tmp
total 12
-rwx------. 1 root root 0 Jan 1 05:24 sample_output.log
-rw-------. 1 root root 599 Jan 1 05:24 sample_output.log-20170101.gz
[root@rhel1 tmp]#

Cela confirmera que logrotate est implémenté avec succès.

Grâce à l'introduction de cet article, nous comprenons la fonction et l'utilisation de l'outil logrotate, et comment personnaliser la stratégie logrotate en fonction de différents besoins. L'outil logrotate peut nous aider à économiser de l'espace disque, à améliorer la lisibilité et la convivialité des fichiers journaux, et également à nous faciliter la sauvegarde et la surveillance des fichiers journaux. L'outil logrotate est un outil de gestion des journaux très pratique dans les systèmes Linux et mérite d'être maîtrisé et utilisé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer