Maison >Opération et maintenance >exploitation et maintenance Linux >Méthodes et étapes pour implémenter la rotation des journaux à l'aide de Systemd et Crontab sous Linux

Méthodes et étapes pour implémenter la rotation des journaux à l'aide de Systemd et Crontab sous Linux

WBOY
WBOYoriginal
2023-09-26 19:04:411793parcourir

Méthodes et étapes pour implémenter la rotation des journaux à laide de Systemd et Crontab sous Linux

Titre : Méthodes et étapes pour implémenter la rotation des journaux à l'aide de Systemd et Crontab sous Linux

Texte :

Dans un système Linux, les fichiers journaux enregistrent les événements importants et les informations d'erreur qui se produisent dans le système au fil du temps, Log. les fichiers deviendront de plus en plus volumineux, occupant non seulement de l'espace sur le disque dur, mais rendant également difficile la visualisation des journaux. Afin de résoudre ce problème, nous pouvons utiliser Systemd et Crontab pour implémenter la rotation des journaux, c'est-à-dire sauvegarder et archiver régulièrement les fichiers journaux. Cet article explique comment utiliser Systemd et Crontab pour implémenter les méthodes et étapes de rotation des journaux et fournit des exemples de code spécifiques.

1. Utilisez Systemd pour implémenter la rotation des journaux

  1. Créez un fichier de configuration de rotation des journaux
    Tout d'abord, nous devons créer un fichier de configuration de rotation des journaux Systemd. Saisissez la commande suivante dans le terminal pour créer un fichier de configuration nommé "myapp-logrotate.conf" :
sudo nano /etc/systemd/journald.conf.d/myapp-logrotate.conf

Ajoutez le contenu suivant dans le fichier de configuration :

[Journal]
Storage=persistent
MaxFileSec=1month

Parmi eux, le paramètre "Storage" précise la méthode de stockage des le fichier journal, « persistant » signifie conserver le fichier journal sur le disque. Le paramètre "MaxFileSec" précise la durée de conservation des fichiers journaux, qui est ici fixée à 1 mois.

Enregistrez et quittez le profil.

  1. Redémarrez le service de journalisation Systemd
    Entrez la commande suivante dans le terminal pour redémarrer le service de journalisation Systemd :
sudo systemctl restart systemd-journald.service

Maintenant, Systemd fera pivoter les fichiers journaux en fonction des paramètres du fichier de configuration.

2. Utilisez Crontab pour implémenter la rotation des journaux

  1. Créez un script de rotation des journaux
    Ensuite, nous devons créer un script de rotation des journaux Crontab. Créez un fichier de script nommé "logrotate-script.sh" en entrant la commande suivante dans le terminal :
sudo nano /usr/local/bin/logrotate-script.sh

Collez le code suivant dans le fichier de script :

#!/bin/bash

# 日志文件路径
logfile="/var/log/myapp/myapp.log"

# 归档目录路径
archive_dir="/var/log/myapp/archive"

# 归档文件名
archive_file="myapp_$(date +'%Y%m%d%H%M%S').log"

# 压缩归档文件
tar -czvf $archive_dir/$archive_file $logfile

# 清空日志文件
> $logfile

Enregistrez et quittez le fichier de script.

  1. Accorder l'autorisation d'exécution au script
    Entrez la commande suivante dans le terminal pour accorder l'autorisation d'exécution au script :
sudo chmod +x /usr/local/bin/logrotate-script.sh
  1. Créer une tâche Crontab
    Enfin, nous devons créer une tâche Crontab pour exécuter régulièrement le script de rotation des journaux . Entrez la commande suivante dans le terminal pour modifier la Crontab :
crontab -e

Ajoutez le contenu suivant dans le fichier Crontab :

# 每天的凌晨0点执行日志轮转脚本
0 0 * * * /usr/local/bin/logrotate-script.sh

Enregistrez et quittez le fichier Crontab.

Maintenant, Crontab exécutera le script de rotation des journaux à 0h du matin tous les jours pour archiver et effacer les fichiers journaux.

Résumé :

Grâce aux méthodes et étapes ci-dessus, nous pouvons utiliser Systemd et Crontab pour implémenter la rotation des journaux. Vous pouvez utiliser Systemd pour définir la durée de conservation des fichiers journaux et utiliser Crontab pour exécuter régulièrement des scripts de rotation des journaux pour archiver et effacer les fichiers journaux. Grâce à une configuration et une utilisation raisonnables, nous pouvons gérer et maintenir efficacement les fichiers journaux du système.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn